在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
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有什么用?能做哪些开发的岗位?
学Java有什么用?能做哪些开发的岗位?Java的应用场景十分广泛,毫不夸张的说,当下的互联网已经离不开Java语言了。按照不同的用途,Java在Android应用、服务器程序、网站领域、软件工具、交易系统、J2ME系统、嵌入式领域等等方面,发挥了重要作用。因此只要学好Java,大家再也不用担心能做的开发岗位被限制了。
5554
2019-10-29 11:01:11
Git常用命令速查手册
众所周知,Git是一个能够有效高速地处理项目版本管理的分布式版本控制系统。如果你是一个开发者,Git无疑是你必须要学习的分布式版本控制系统。Git作为一个便捷的工具,它有许多命令,但是一般来讲你不用全部掌握,只需要记住一些常用命令就行了。因此本文为大家准备了Git常用命令速查手册,现在就来看看吧!
4633
2019-11-20 11:12:09
Activiti实战教程学习哪些知识点?
Activiti实现自定义工作流程,新版Activiti7的工作流体系架构与内部工作机制,实现IHRM常见多种业务流程,Activiti自动化业务流程管理,实现SpringBoot+Activiti整合开发审批中心模块,可以做到项目中审批中心模块,针对不同需求做到工作流的定制化。
5015
2019-11-28 15:44:45
学习MySql需要掌握哪些基础知识?
学习MySql基础知识,需要掌握需求分析、关系型数据库用来描述实体与实体之间的关系、MySql数据库服务器、MySql得安装和卸载、MySql的sql语句及操作相关的知识。
6130
2020-03-04 17:06:07
在IDEA中如何使用Git?详细步骤讲解
在IDEA中如何使用Git?首先我们要安装好IntelliJ IDEA,然后在IDEA中配置Git,才能开始使用Git。下面我们来详细讲解一下在IDEA中使用Git,大概需要十个步骤,分别是在IDEA中创建工程并将工程添加至Git,将文件添加到暂存区,提交文件,将代码推送到远程仓库,从远程仓库克隆工程到本地,从远程拉取代码,版本对比,创建分支,切换分支和分支合并。
9240
2020-04-30 10:34:03