Redis的多路复用机制
Redis是单线程还是多线程?通常我们所说的Redis 是单线程,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。所以严格来说Redis并不是单线程的。Redis为什么不用多线程处理每个命令呢?想必大家都听过,多线程能提高系统吞吐率这个说法了,但是这个的前提是要有很好的系统设计,尤其是共享资源的并发访问控制问题,如果没有精心的设计,