12.4 Memcached

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

12.4 Memcached - 图1

Memcached守护进程基于C语言实现,基于libevent的事件处理可以实现很高的性能。需要注意的是,由于数据仅存在于内存中,因此重启Memcached或重启操作系统会导致数据全部丢失。

可以直接通过官方提供的memcached镜像运行一个memcached-container容器:


  1. $ docker run --name memcached-container -d memcached
  2. 94e957b52be9a254954cddd23d64ba520493519a19c2e548b4e3dd7f41475b2a

在docker run指令中可以设定memcached server使用的内存大小:


  1. $ docker run --name memcached-container-2 -d memcached memcached -m 64
  2. bde9544643ac2a43945322c9bde76342dfc55db12875973da83408a8d239f94c

以上指令会将memcached server的内存使用量设置为64MB。

此时,用户可以在宿主机器直接telnet测试访问memcached容器,并直接输入客户端命令:


  1. $ telnet 192.168.99.100 11211
  2. Trying 192.168.99.100...
  3. Connected to 192.168.99.100.
  4. Escape character is '^]'.
  5. stats
  6. STAT pid 1
  7. STAT uptime 19
  8. STAT time 1462972021
  9. STAT version 1.4.25
  10. ...
  11. END