memcached for Windows will not listen on multiple ports with the same instance, you will need multiple instances of the service to make it work as a service on different ports.
To do this, you will need to use a different mechanism to install the service, not the memcached -d install mechanism.
We can use sc to accomplish this. All of these commands must be run from an elevated command prompt.
sc create "Memcached11211" binPath= "C:\memcached\memcached.exe -d runservice -p 11211" DisplayName= "Memcached11211" start= auto sc create "Memcached11212" binPath= "C:\memcached\memcached.exe -d runservice -p 11212" DisplayName= "Memcached11212" start= auto
Then we will start them:
C:\memcached>sc start Memcached11211 SERVICE_NAME: Memcached11211 TYPE : 10 WIN32_OWN_PROCESS STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 5412 FLAGS : C:\memcached>sc start Memcached11212 SERVICE_NAME: Memcached11212 TYPE : 10 WIN32_OWN_PROCESS STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 7976 FLAGS : C:\memcached>netstat -an | grep 112 File STDIN: TCP 0.0.0.0:11211 0.0.0.0:0 LISTENING TCP 0.0.0.0:11212 0.0.0.0:0 LISTENING TCP [::]:11211 [::]:0 LISTENING TCP [::]:11212 [::]:0 LISTENING UDP 0.0.0.0:11211 *:* UDP 0.0.0.0:11211 *:* UDP [::]:11211 *:* UDP [::]:11211 *:*
Please note, however, that, as configured, the udp port is still 11211, so it will need to be changed to ensure that udp can also be used for both services.
You have added the lines -u 11211 and -u 11212 to the sc configuration lines.
To stop and the individual memcached service you will use:
sc stop memcached11211 sc stop memcached11212
to remove services:
sc delete memcached11211 sc delete memcached11212
If you are just trying to use it on different ports, just use several cmd windows and run it that way.