redis server 6.2.6版本还是单线程的吗?

Is redis server version 6.2.6 still single threaded?

我记得以前版本的Redis服务器是单线程的

Redis最新稳定版6.2.6还是单线程的吗?

当2个客户端在同一个时间戳对同一个key调用INCR 命令时,Redis是使用单线程依次执行INCR,还是Redis使用2个线程锁定同步?

Pitfalls and misconceptions

Redis is, mostly, a single-threaded server from the POV of commands execution

All Redis 6.X.X release notes

Redis can now optionally use threads to handle I/O, allowing to serve 2 times as much operations per second in a single instance when pipelining cannot be used.

Redis 7 的一个尚未解决的问题[FEATURE] Make redis 7 multi-threaded

据我从所有这些链接中了解到,我会回答你的问题,说 Redis 只使用一个线程,而不是两个带锁和同步的线程。

进一步补充Redis官方文档:

它不是为了受益于多个 CPU 内核而设计的。如果需要,人们应该启动多个 Redis 实例以在多个核心上进行横向扩展。将单个 Redis 实例与 multi-threaded 数据存储进行比较是不公平的。 ...

作为 single-threaded,Redis 支持快速 CPUs,具有大缓存且内核不多。在这场比赛中,英特尔 CPU 是目前的赢家。与类似的 Nehalem EP/Westmere EP/Sandy Bridge Intel CPUs 和 Redis 相比,AMD Opteron CPU 的性能只有一半的情况并不少见。当客户端和服务器 运行 在同一个盒子上时, CPU 是 redis-benchmark 的限制因素。 ...

https://redis.io/topics/benchmarks#pitfalls-and-misconceptions