首页 > 数据库 >redis开启多线程

redis开启多线程

时间:2023-03-16 18:45:59浏览次数:38  
标签:redis Redis 开启 线程 IO 多线程

在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

相关文章

  • 狂神说 springboot集成redis
    文章目录1.概述1.1SpringData1.2lettuce2.部分源码2.1自动配置2.2Jedis.pool不生效3.使用4.序列化4.1为什么要序列化4.2为什么要自定义......
  • Redis常用数据类型
    Redis是Map类型的存储方式,所有数据都采用key:value形式存储,key是字符串,value有以下几种常用数据类型:①String:最基本的数据类型,可以是字符串、整数或浮点数。②List:按插入......
  • [EF Core] 多线程执行SQL Command
     publicclassXXXRepository{//数据库上下文privateXXXDBContextcontext;//作用域服务工厂privatereadonlyIServiceScopeFactory_servic......
  • Linux 安装 redis
    1.下包解压tar-zvxfredis****.tar.gz2.进入根目录编译make安装makeinstall2.1make报错  yum-yinstallcentos-release-sclyum-yinstalldevtoolset-9-gc......
  • 谈谈 Redis 的过期策略
    在日常开发中,我们使用Redis存储key时通常会设置一个过期时间,但是Redis是怎么删除过期的key,而且Redis是单线程的,删除key会不会造成阻塞。要搞清楚这些,就要了解R......
  • redis线程模型-IO多路复用单线程通俗理解
     Redis单线程redis是以socket方式通信,socket服务端可同时接受多个客户端请求连接,也就是说,redis服务同时面对多个redis客户端连接请求,而redis服务本身是单线程运行。 ......
  • Redis之I/O多路复用模型实现原理
    本文内容基于Redis6.0以前的版本编写,因为6.0之后Redis在网络处理这一块采用了多线程模式,但是I/O多路复用的模型还在,变化不大。本文有不当之处,大家轻喷!Redis之I/O......
  • Redis常用命令
    redis数据库一、概述:redis数据库是一个内存数据库,基于内存进行数据存储的,redis数据库访问速度特别快。因此,redis通常被用于缓存系统、存储大量活跃数据,可以极大地提......
  • Redis中是如何实现分布式锁的?
    分布式锁常见的三种实现方式:数据库乐观锁;基于Redis的分布式锁;基于ZooKeeper的分布式锁。Redis要实现分布式锁,以下条件应该得到满足:互斥性:在任意时刻,只有一个客户端......
  • python爬虫增加多线程采集数据
    Python爬虫对于现如今大数据满天飞的时代来说真是如虎添翼,也越来越多的领域喜欢用Python来实现数据采集。像Scrapy、Request、BeautifuSoap、urlib等框架都可以实现自动爬......