memcached 1.2.5 and later should have IPv6 support.
I can't vouch for its functionality as I don't personally use memcached, but a search for "IPv6" in their bug tracker doesn't show anything egregiously broken, so I have to assume it works to at least a first approximation :)
memcached does support IPv6. You can specify it at startup using the -l parameter. How do IPv4 and IPv6 behave compared to a default install? Let's look at a Debian session where we install memcached, listening on the default port(s), and start two memcached daemons, one bound to a v6 IP, and one bound to a v4 IP.
Linux hostname 3.0.4-linode38 #1 SMP Thu Sep 22 14:59:08 EDT 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@hostname:~# apt-get install memcached
Setting up memcached (1.4.5-1) ...
Starting memcached: memcached.
root@hostname:~# apt-get install libmemcached-tools libmemcached-dev
Setting up libmemcached-tools (0.40-1) ...
root@hostname:~# memccapable
ascii quit [pass]
ascii version [pass]
ascii verbosity [FAIL]
1 of 54 tests failed
We can use memccapable to check that memcached is indeed running.
memcstat allows us to check the status of multiple hosts at once. We see that memcached is not bound to localhost ports 10001 or 10002, which makes sense, since we specified our IP(s) explicitly. Now lets check our IPv4 address for memcached servers on each of the ports.
We see that our IPv6 memcached is not accessible from our IPv4 address. memcstat is not (as of Debian 6.0.3) ccapable of taking IPv6 addresses on the command line, so we will do three separate memccapable's.
root@hostname:~# memccapable -h 2600:3c03::dead:beef:feeb:daed -p 11211
ascii quit [pass]
ascii version [pass]
ascii verbosity [FAIL]
1 of 54 tests failed
root@hostname:~# memccapable -h 2600:3c03::dead:beef:feeb:daed -p 10001
ascii quit [pass]
ascii version [pass]
ascii verbosity [FAIL]
1 of 54 tests failed
root@hostname:~# memccapable -h 2600:3c03::dead:beef:feeb:daed -p 10002
Failed to connect socket: Connection refused
Failed to connect to : Connection refused
root@hostname:~#
This is interesting. The default install of memcached is bound to localhost and to the IPv6 address, but not to our IPv4 address. This could be server/hosting environment specific. Of note is that our explicitly defined port 10002 on the IPv4 address is not available by specifying our IPv6 address, and our port 10001 instance is.
So, yes, memcached does support IPv6. You can also specify these options in the /etc/memcached.conf file. Please take note of the warning in that file that suggests only listening on an interface which is firewalled. If your IPv6 interface is public/accessible, you risk exposing sensitive cache items.
memcached 1.2.5 and later should have IPv6 support.
I can't vouch for its functionality as I don't personally use memcached, but a search for "IPv6" in their bug tracker doesn't show anything egregiously broken, so I have to assume it works to at least a first approximation :)
memcached does support IPv6. You can specify it at startup using the
-l
parameter. How do IPv4 and IPv6 behave compared to a default install? Let's look at a Debian session where we install memcached, listening on the default port(s), and start two memcached daemons, one bound to a v6 IP, and one bound to a v4 IP.We can use
memccapable
to check thatmemcached
is indeed running.We just started our IPv6 memcached on port
10001
and our IPv4 memcached on port10002
memcstat
allows us to check the status of multiple hosts at once. We see that memcached is not bound to localhost ports10001
or10002
, which makes sense, since we specified our IP(s) explicitly. Now lets check our IPv4 address for memcached servers on each of the ports.We see that our IPv6 memcached is not accessible from our IPv4 address. memcstat is not (as of Debian 6.0.3) ccapable of taking IPv6 addresses on the command line, so we will do three separate memccapable's.
This is interesting. The default install of memcached is bound to localhost and to the IPv6 address, but not to our IPv4 address. This could be server/hosting environment specific. Of note is that our explicitly defined port 10002 on the IPv4 address is not available by specifying our IPv6 address, and our port 10001 instance is.
So, yes, memcached does support IPv6. You can also specify these options in the /etc/memcached.conf file. Please take note of the warning in that file that suggests only listening on an interface which is firewalled. If your IPv6 interface is public/accessible, you risk exposing sensitive cache items.