深度剖析memcached源代码线程模型

memcached是轻量级的分布式的内存cache系统,大量用于各种站点的内存cache,提高系统性能,memcached的设计和实现本身都是比较简单的,基本上只用到了线程模型,而不是传统上的进程模型,接入是依赖于libevent的事件通知机制,并且利用管道来作为事件的触发和周知,比如向worker线程的接收管道写入一个byte,则触发绑定到该管道的读事件,而读事件的处理逻辑则是从该线程的CQ(链接队列)里面获取一个连接对象,然后绑定该链接对象的读事件,依次进行事件的触发和周知,下图是基本的线程处理流程图:

图片


你可能感兴趣的:(memcached)