今天搞一下经典面试题Redis为什么选择单线程?Redis为什么这么快?,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。
(资料图)
Redis2.6,支持lua脚本;
Redis3.0,支持集群;
Redis4.0,混合持久化,多线程异步删除;
Redis5.0,核心代码重构;
Redis6.0,多线程IO;
Redis7.0,Function、Multi-part-AOF;
1、Redis采用单线程模型方便开发和维护;
2、单线程模型也可以通过IO多路复用和非阻塞IO并发处理多客户端请求;
3、对于Redis来说,主要的性能瓶颈是内存和网络,而不是CPU;
Redis6.0之前,Redis从网络IO处理到实际的读写命令处理,都是单线程的,只不过在数据删除、数据持久化的时候使用的是多线程。
Redis的性能瓶颈主要是网络IO,因此,Redis6.0开始,采用多个IO线程来处理网络请求,提高网络请求处理的并行度。
主线程负责建立连接,并把socket放入全局等待队列,主线程通过轮询的方法将socket连接分配给IO线程。
主线程一旦把socket分配给IO线程,就会进入阻塞状态,等待IO线程完成客户端请求,此时,采用多个IO线程并行处理。
IO线程解析完请求,主线程还是会以单线程的方式执行这些命令。
当主线程执行完请求命令后,会将结果写入缓冲区,主线程进入阻塞状态,等待IO线程将结果回写到socket中,并返回给客户端。
回写socket完毕后,主线程清空全局队列。
IO多路复用,一种同步的IO模型,实现一个线程监视多个文件句柄,一旦某个文件句柄就绪就能够通知到对用的应用程序进行对应的读写操作,没有文件句柄就绪时,程序就会进入阻塞状态,释放CPU资源。
1、IO,操作系统层面指数据在内核态和用户态之间进行的读写操作;
2、多路,多个客户端socket连接;
3、复用,复用线程;
4、IO多路复用,使用单线程就能够同时处理多个客户端socket连接;
客户端socket对应的文件描述符FileDescriptor注册进epoll,epoll会监听哪些socket有消息,避免大量的无用操作。
此时socket采用非阻塞模式,整个过程只在调用select、poll、epoll时才会阻塞,收到客户端消息不会阻塞,这个进程就会被充分利用起来,这种模式一般被称为事件驱动,也就是reactor反应模式。
采用epoll的方式,最终目的是提高服务器的吞吐能力。
IO多路复用与epoll函数才是**“Redis为什么这么快?”**的直接原因。
Redis是一个基于内存操作、KV形式的数据库,采取多路复用、非阻塞IO、避免了不必要的上下文切换等特性。
Redis一直存在BigKey问题,因此在Redis4.0引入了多线程异步删除,正式打开Redis多线程新篇章。
Redis6.0引入IO多线程的读写,更高效的处理请求,Redis只是将IO读写变成了多线程,命令的执行还是由主线程单线程执行,因此,多线程下操作Redis不会出现线程安全的问题,不用像Java那样加锁,解锁,这也是Redis为什么这么快的根本原因。
到此这篇关于Redis为什么选择单线程?Redis为什么这么快?的文章就介绍到这了,更多相关Redis线程与Redis快的原因内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
关键词:
凡本网注明“XXX(非中国微山网)提供”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和其真实性负责。
食品饮料等消费股震荡拉升,惠泉啤酒(600573)触及涨停,千味央厨(001215)、桂发祥(002820)涨超5%,绝味食品
2023-05-19 11:38
隔夜SHIBOR报1 4080%,下降5 50个基点。7天SHIBOR报1 9100%,上涨15 00个基点。3个月SHIBOR报2 2690%,下降0 90个
2023-05-19 11:44
煤医医美整形眼?怎么回事?重睑术包含了很多种手术的方法,其中常见的有切开法,埋线法,还有一线连续埋线法和部分切开法。这些方法都是尺有所
2023-05-19 11:15
证监会非上市公众公司监管部主任鲁颂宾表示,“在证监会党委领导下,我们正抓紧汇聚调研过程中各方提出的意
2023-05-19 10:43
军工板块震荡拉升,观典防务(688287)涨超9%,超卓航科(688237)涨逾6%,新兴装备(002933)、中无人机(688297)
2023-05-19 10:46
崇达技术(002815)近日接受机构调研时表示,一季度,全球消费电子行业需求普遍疲软,PCB行业市场景气度和封
2023-05-19 10:23
5月18日晚,在菜鸟启动IPO计划和十周年来临之际,菜鸟集团CEO万霖发出全员信,希望全体菜鸟员工加快能力建
2023-05-19 10:36
家电板块震荡拉升,长虹美菱(000521)、海信家电(000921)、新宝股份(002705)、苏泊尔(002032)涨超5%,奥马电
2023-05-19 10:46
MiniLED概念股震荡走高,合力泰(002217)此前涨停,艾比森(300389)、聚灿光电(300708)涨超8%,洲明科技(3002
2023-05-19 10:43
东箭科技(300978)近日接受机构调研时表示,维杰汽车自被公司收购以来,已完成2个完整年度的业绩承诺,且均
2023-05-19 09:29