memcached 的多线程是什么?如何使用它们?

线程就是定律(threads rule)!在 Steven Grimm 和 Facebook 的努力下,

memcached 1.2 及更高版本拥有了多线程模式。多线程模式允许 memcached 能

够充分利用多个 CPU,并在 CPU 之间共享所有的缓存数据。memcached 使用一

种简单的锁机制来保证数据更新操作的互斥。相比在同一个物理机器上运行多个

memcached 实例,这种方式能够更有效地处理 multi gets。

如果您的系统负载并不重,也许您不需要启用多线程工作模式。如果您在运行一

个拥有大规模硬件的、庞大的网站,您将会看到多线程的好处。

简单地总结一下:命令解析(memcached 在这里花了大部分时间)可以运行在多

线程模式下。memcached 内部对数据的操作是基于很多全局锁的(因此这部分工

作不是多线程的)。未来对多线程模式的改进,将移除大量的全局锁,提高

memcached 在负载极高的场景下的性能。