1、为什么不会?nginx 还是多进程 + 单线程 模式的呢。
2、谁说它就是单线程了?不要断章取义哦!Redis中只有网络请求模块和数据操作模块是单线程的。而其他的如持久化存储模块、集群支撑模块等是多线程的。
3、Redis 操作基于内存,绝大多数操作的性能瓶颈不在 CPU。
4、在单线程中使用非阻塞多路复用 I/O技术。再加上Redis自身的事件处理模型将epoll中的连接,读写,关闭都转换为了事件,不在I/O上浪费过多的时间。
5、单线程避免了线程切换和竞态产生的消耗。
后来,Redis 在设计上采用将网络数据读写和协议解析通过多线程的方式来处理,对于命令执行来说,仍然使用单线程操作。