memcached缓存为什么可以支持高并发读写?
1、多路复用I/O模型
传统I/O中,系统可能会因为某个用户的I/O连接没有做好准备而一直等待,直到这个连接做好准备,这个当有其他用户连接服务器时,由于系统的阻塞而得不到响应。
多路复用I/O模型是一种消息通知模式,用户做好I/O连接准备后,系统会通知我们这个连接已经做好I/O准备,这样就不会阻塞某个用户的连接,正因为如此memcached才支持
高并发读写
2、多线程模型
多线程模型又分为:
主线程:主要接受客户端连接,并将该连接push到子线程CQ队列中,并通知子线程,有客户端连接需要处理
子线程:子线程接受到通知后,从CQ队列中取出该连接,并注册到libevent进行监听客户端的读写操作
源码以后有时间再上传吧!
以上就介绍了memcached缓存的执行过程,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。