redis的单线程架构

redis很快,官网给出的数据是10万/秒,当然是跟机器的配置有关系的,redis是使用单线程架构和IO多路复用来实现高性能

redis单线程处理命令的机制

redis客户端和服务端的通信大致可分为三个步骤

1.发送命令;2.执行命令;3返回结果

当多个redis命令同时到达服务器端时,redis由于单线程的机制会导致命令不会立即被执行,而是进入一个队列中,然后逐个被执行,执行顺序跟队列中的命令顺序有关

这样有关好处就是不会产生并发问题

一般来说单线程处理能力要比多线程差,但是redis的单线程很快主要归结于三点

1.redis是纯内存的访问,内存的响应时间一般远远高于磁盘

2.非阻塞IO,redis使用epoll作为IO的多路复用实现技术

3.单线的避免了线程切换和竞争的消耗,也避免了各种锁的问题

根据redis的单线程架构特性可知,如果某个命令执行时间过长,将会阻塞其他命令 ,这对redis是致命的。

扫描二维码关注公众号,回复: 5508894 查看本文章

猜你喜欢

转载自www.cnblogs.com/bigyu/p/10519376.html