Redis 6.0 之前没有采用多线程的原因是因为 Redis 的数据结构和算法都是单线程最优的,多线程并不会提高性能,反而会引入额外的锁、线程管理和上下文切换的开销,导致性能反而下降。
另外,Redis 作为一个内存数据库,其数据访问都是非常快的,瓶颈一般出现在网络 IO 和持久化操作上,这些都是可以通过异步 IO、多路复用等技术来解决的,而无需引入多线程。
然而,随着 Redis 的应用场景不断扩大,例如在大规模缓存、实时消息处理等场景下,Redis 面临着更大的并发和吞吐量需求,于是在 6.0 版本中引入了多线程功能,来满足这些高并发的需求。