线程就是定律(threads rule)!在 Steven Grimm 和 Facebook 的努力下,
memcached 1.2 及更高版本拥有了多线程模式。多线程模式允许 memcached 能
够充分利用多个 CPU,并在 CPU 之间共享所有的缓存数据。memcached 使用一
种简单的锁机制来保证数据更新操作的互斥。相比在同一个物理机器上运行多个
memcached 实例,这种方式能够更有效地处理 multi gets。
如果您的系统负载并不重,也许您不需要启用多线程工作模式。如果您在运行一
个拥有大规模硬件的、庞大的网站,您将会看到多线程的好处。
简单地总结一下:命令解析(memcached 在这里花了大部分时间)可以运行在多
线程模式下。memcached 内部对数据的操作是基于很多全局锁的(因此这部分工
作不是多线程的)。未来对多线程模式的改进,将移除大量的全局锁,提高
memcached 在负载极高的场景下的性能。