12.4 Memcached
Memcached是一个高性能、分布式的开源内存对象缓存系统。最初是Danga Interactive为了优化LiveJournal的访问速度而编写的。目前已经非常广泛的应用于各种Web应用中。以BSD license授权协议发布。

Memcached守护进程基于C语言实现,基于libevent的事件处理可以实现很高的性能。需要注意的是,由于数据仅存在于内存中,因此重启Memcached或重启操作系统会导致数据全部丢失。
可以直接通过官方提供的memcached镜像运行一个memcached-container容器:
- $ docker run --name memcached-container -d memcached
- 94e957b52be9a254954cddd23d64ba520493519a19c2e548b4e3dd7f41475b2a
在docker run指令中可以设定memcached server使用的内存大小:
- $ docker run --name memcached-container-2 -d memcached memcached -m 64
- bde9544643ac2a43945322c9bde76342dfc55db12875973da83408a8d239f94c
以上指令会将memcached server的内存使用量设置为64MB。
此时,用户可以在宿主机器直接telnet测试访问memcached容器,并直接输入客户端命令:
- $ telnet 192.168.99.100 11211
- Trying 192.168.99.100...
- Connected to 192.168.99.100.
- Escape character is '^]'.
- stats
- STAT pid 1
- STAT uptime 19
- STAT time 1462972021
- STAT version 1.4.25
- ...
- END
