0717-7821348
新闻中心

欢乐彩app安卓版

您现在的位置: 首页 > 新闻中心 > 欢乐彩app安卓版
欢乐彩手机版下载-单线程的Redis为什么辣么快?
2019-12-19 01:55:33

互联网重磅级杀手锏Redis火遍大江南北,而它的许多使用神技却不为所知。

Redis到底有多快?

Redis选用的是根据内存的是单线程模型的 KV 数据库,由C言语编写,官方供给的数据是能够到达欢乐彩手机版下载-单线程的Redis为什么辣么快?100000+的QPS(每秒内查询次数)。

“你知道redis是单线程作业模型吗?”

“单线程的Redis为什么这么快?”大厂面试官经常会这么问。

这个问题其实是对redis内部机制的一个调查。答复主要有以下3点:

(一)纯内存操作;

(二)单线程操作,避免了频频的上下文切换;

(三)选用了非堵塞I/O多路复用机制;

咱们要细心说一说I/O多路复用机制,一般人都不明白是什么意思。我来打个比如:小明在S城开了一家快递店,担任同城快送服务。小明由于资金约束,雇佣了一批快递员,然后小明发现资金不够了,只够买一辆车送快递。经营方式一:

客户每送来一份快递,小明就让一个快递员欢乐彩手机版下载-单线程的Redis为什么辣么快?盯着,然后快递员开车去送快递。

渐渐小明发现了这种经营方式存在的问题:


几十个快递员基本上时刻都花在了抢车上了,大部分快递员都处在搁置状况,谁抢到了车,谁就能去送快递;跟着快递的增多,快递员也越来越多,小明发现快递店里越来越挤,没办法雇佣新的快递员了;快递员之间的和谐很花时刻;

归纳上述缺陷,小明痛定思痛,提出了下面的经营方式。

经营方式二:

小明只雇佣一个快递员。然后呢,客户送来的快递,小明按送达地址标示好,然后顺次放在一个当地。最终,那个快递员顺次的去取快递,一次拿一个,然后开着车去送快递,送好了就回来拿下一个快递。

上述两种欢乐彩手机版下载-单线程的Redis为什么辣么快?经营方式比欢乐彩手机版下载-单线程的Redis为什么辣么快?照,是不是显着觉得第二种,功率更高,更好呢。在上述比方中:

每个快递员------------------>每个线程每个快递-------------------->每个socket(I/O流)快递的送达地址-------------->socket的不同状况客户送快递恳求-------------->来自客户端的恳求小明的经营方式-------------->服务端运转的代码一辆车---------------------->CPU的核数

所以咱们有如下结论:

1、经营方式一便是传统的并发模型,每个I/O流(快递)都有一个新的线程(快递员)办理。

2、经营方式二便是I/O多路复用。只要单个线程(一个快递员),经过盯梢每个I/O流的状况(每个快递的送达地址),来办理多个I/O流。

下面类比到实在的欢乐彩手机版下载-单线程的Redis为什么辣么快?redis线程模型,如图所示:

参照上图,简略来说,便是咱们的redis-client在操作的时分,会发生具有不同事情类型的socket。在服务端,有一段I/0多路复用程序,将其置入行列之中。然后,文件事情分配器,顺次去行列中取,转发到不同的事情处理器中。

需求阐明的是,这个I/O多路复用机制,redis还供给了select、epoll、evport、kqueue等多路复用函数库,我们能够自行去了解。



免费共享Java技术资料,需求的小伙伴能够在重视我后私信我,免费收取

原文:https://mp.weixin.qq.com/s/xAENLSje3Bt2湖南腊味六绝JEFmFKe9kw

作者:IT草场

来历:微信大众号