官方答案:
    Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络宽带,既然单线程容易实现,而且CPU不会成为瓶颈,那么顺理成章的采用单线程的方案

    我的理解:
    1.不需要各种锁的性能消耗
    Redis的数据结构并不全是key-value形式的,还有list、hash等复杂的结构,这些结构有可能会进行很细粒度的操作,比如在很长的列表后面条件一个元素,在hash中添加或删除一个对象,这些操作可能就需要加非常多的锁,导致的结果是同步开销大大增加
    2.单线程多进程集群方案
    单线程的威力实际上非常强大,每核心效率也非常高,多线程自然是可以比单线程更高的性能上线,但是在今天的计算环境中,即使是单机多线程的上线也往往不能满足需要了,需要进一步摸索多服务器集群化的方案,这些方案中多线程技术照样是用不上的
    所以单线程,多进程的集群不失为一个时髦的解决方案
    3.CPU消耗
    采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗CPU
    但是如果CPU称为Redis的瓶颈,或者不想让服务器其他CPU限制,那么怎么办
    可以考虑多起几个Redis进程,Redis是key-value数据库,不是关系型数据库,数据之间没有约束,只要客户端分清哪些key放在哪个Redis进程中就可以了