redis单线程为什么这么快

所谓redis很快,到底是指的什么?

响应时长很短

那么响应时长由什么组成呢?

响应时长=网络耗时+redis自身耗时

网络耗时正常和运营商相关,一般为近似固定的延时

redis自身耗时=接受请求+分发请求+处理请求

总结redis单线程比较快的原因: 

1) 使用IO多路复用,例如epoll (提升吞吐量)

2)    纯内存操作  (处理请求耗时短,单位时间内处理的请求数量就多)

3) 高效的数据结构,比如hash等 (尽量接近O(1)时间复杂度高效查询)

4) 性能瓶颈在内存,CPU不是瓶颈,单线程避免线程上下文的切换  (找到瓶颈所在,避免额外损耗)

5) 连接池 (避免连接创建和关闭带来的损耗)

发布了210 篇原创文章 · 获赞 105 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/u010627840/article/details/103778851