redis为什么那么快

2019-10-17  本文已影响0人  阿长_一个程序员

redis是单线程的处理命令的,还会达到每秒万级别的处理能力呢?

原因有3点

1.纯内存访问

redis将所有数据放在内存中,而内存的响应时间很快,大约为100纳秒

2.非阻塞I/O

Redis使用epoll作为I/O多路复用技术的实现,不在网络I/O上浪费过多的时间

3.单线程避免了线程切换和竞态产生的消耗

单线程能带来2个好处
单线程可以简化数据结构和算法的实现
避免线程切换和竞态产生的消耗,锁和线程切换通常是性能杀手。

单线程的问题

但是单线程会有一个问题:对于每个命令的执行时间是有要求的。如果某个命令执行过长,会造成其他命令的阻塞,对于Redis这种高性能的服务来说是致命的,所以Redis是面向快速执行场景的数据库。

上一篇 下一篇

猜你喜欢

热点阅读