在Redis 6.0中,非常受关注的第一个新特性就是多线程。
在Redis 6.0中,多线程默认是禁用的,只使用主线程。如果需要使用多线程功能,需要在 redis.conf文件中进行配置(重启服务)。
1. 开启redis多线程
修改redis.conf配置文件
io-threads-do-reads yes io-threads 6 #开启多线程后,需要设置线程数,否则是不生效的
关于线程数的设置,官方有一个建议:4核的机器建议设置为2或3个线程,8核的建议设置为6个线程,线程数一定要小于机器核数。
还需要注意的是,线程数并不是越大越好,官方认为超过了8个基本就没什么意义了。
下图为默认配置:
2. redis支持多线程主要就是两个原因:
① 可以充分利用服务器 CPU 资源,目前主线程只能利用一个核
② 多线程任务可以分摊 Redis 同步 IO 读写负荷
3. redis6.0采用多线程后,性能的提升效果如何?
Redis 作者 antirez 在 RedisConf 2019分享时曾提到:Redis 6 引入的多线程 IO 特性对性能提升至少是一倍以上。
国内也有大牛曾使用unstable版本在阿里云esc进行过测试,GET/SET 命令在4线程 IO时性能相比单线程是几乎是翻倍了。
如果开启多线程,至少要4核的机器,且Redis实例已经占用相当大的CPU耗时的时候才建议采用,否则使用多线程没有意义。
注:在单机模式下,可以开启多线程,但是在其他模式,最好不开启
标签:redis,Redis,开启,线程,IO,多线程 From: https://www.cnblogs.com/silgen/p/17222567.html