Redis6.0新版本在五月初重磅发布,我们可以清晰地发现Redis6.0新版本引入了多线程。相信大家一定都十分好奇,Redis6.0引入多线程究竟有哪些好处呢?下面我们就来逐一分析一下引入多线程的诸多好处~
1、解决单线程的局限性
我们都知道Redis之前一直不引入多线程,是因为单线程的使用可维护性高,不同于多线程系统复杂度的增加和各种问题容易出现的性能损耗。但随着越来越复杂的业务场景,有些公司动不动就上亿的交易量,因此需要更大的QPS。而旧版本的Redis服务器可以处理80,000到100,000 QPS,这也是Redis处理的极限了。常见的解决方案是在分布式架构中对数据进行分区并采用多个服务器,但该方案有非常大的缺点,例如要管理的Redis服务器太多,维护代价大;某些适用于单个Redis服务器的命令不适用于数据分区;数据分区无法解决热点读/写问题;数据偏斜,重新分配和放大/缩小变得更加复杂等等。而且,Redis的多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程顺序执行。所以我们不需要去考虑控制 key、lua、事务,LPUSH/LPOP 等等的并发及线程安全问题。
2、突破Redis自身瓶颈
(1)分摊 Redis 同步 IO 读写负荷
因为读写网络的read/write系统调用占用了Redis执行期间大部分CPU时间,瓶颈主要在于网络的 IO 消耗, 优化主要有两个方向:提高网络 IO 性能,典型的实现比如使用 DPDK 来替代内核网络栈的方式;使用多线程充分利用多核,典型的实现比如 Memcached。因此,Redis6.0引入多线程一下子就分摊了Redis同步IO读写负荷。
(2)充分利用服务器CPU资源
议栈优化的这种方式跟Redis关系不大,支持多线程是一种最有效最便捷的操作方式。所以总结起来,Redis支持多线程主要就是因为可以充分利用服务器 CPU 资源,目前主线程只能利用一个核。
看到这里,想必大家对于Redis6.0引入多线程的好处,已经有了一定的了解。如果大家还想了解更多Redis的相关内容,可以关注博学谷资讯Java栏目,我们将在工作日定时更新更多的精彩内容。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础 "=="和 equals 方法究竟有什么区别?
Java基础 "=="和 equals 方法究竟有什么区别?==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。
3274
2019-05-23 11:31:26
Java网络编程入门教程
网络编程在两个或两个以上的设备之间传输数据。程序员把数据发送到指定的位置或者接收到指定的数据,这是狭义的网络编程范畴。在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员调用即可,基础的网络编程和打电话一样简单。
1606
2019-12-04 14:53:50
程序员如何提升为Java架构师?
成为优秀的架构师需要熟悉 Java基础,掌握多线程开发 Callable 和 Future、TCP 原理,NIO、Netty,Dubbo,Spring Cloud,Apollo,Nacos、Maven,IntelliJ IDEA技术等核心知识点。
1113
2020-02-03 14:38:56
JavaEE实战项目手机快速登录讲解
今天要讲解的JavaEE实战项目是一款应用于健康管理机构的业务系统,它叫做传智健康,能够实现健康管理机构工作内容可视化、会员管理专业化、 健康评估数字化、健康干预流程化、知识库集成化,从而提高健康管理师的工作效率,加强与会员间的互动,增强管理者对健康管理机构运营情况的了解。下面我们来一起看看传智健康实战项目的移动端开发内容,主要包括了需求分析和手机快速登录。
1168
2020-04-22 12:06:56
Java Web之Filter学习笔记
今天要学习的是关于Filter的内容,主要包括Filter的概念、快速入门、代码演示、过滤器细节,对Filter有学习需要的小伙伴可以在看完本文后,再把文章收藏起来以便于以后的复习,现在一起来看看Java Web之Filter的学习笔记吧~
979
2020-05-07 11:07:11
基于SaaS平台的iHRM实战开发
¥1980 提高 371
BAT 大厂Java常见面试题
¥299 进阶 522
百度地图API应用开发
免费 进阶 1506
分布式服务框架Dubbox
¥59 进阶 26
数据结构与算法体验课
¥9.9 基础 80
推荐课程
热门文章
- UI设计培训费用要多少钱?靠不靠谱?
- 哪个Python培训机构好些?怎么选?
- 这样的Java自学姿势 学废最快
- 2021年大数据行业发展前景及岗位方向如何?
- Web前端开发工程师培训班哪家好?
- 互联网产品经理岗位现在有多热门?
- 前端测试用例怎么写?为什么写测试用例?
- 有哪些好的线上培训产品经理的机构?
- 零经验的人学编程难吗?能学会吗?
- 传智博学谷神经网络和深度学习课程推荐 查看更多
扫描二维码,了解更多信息
