Redis是单线程。

采用单线程理由是
1)Redis 完全是基于内存的操作,CPU 不是 Redis 的瓶颈,其瓶颈最有可能是机器内存的大小或者网络带宽。
2)单线程容易实现

好处是采用单线程,避免了不必要的上下文切换和竞争条件,不存在多线程导致的 CPU 切换,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有死锁问题导致的性能消耗。

也许是为了弥补无法发挥多核CPU优势的缺陷,Redis采用了IO多路复用模型,即异步阻塞模型。这种模型最大的特点,就是一个线程可以同时处理多个IO请求。
(参见拙作:​IO多路复用)

再加上数据结构简单,对数据操作也简单,所以Redis的性能不输给memcached,而功能、对事务、数据持久等的支持都优于后者。