所谓redis很快,到底是指的什么?
响应时长很短
那么响应时长由什么组成呢?
响应时长=网络耗时+redis自身耗时
网络耗时正常和运营商相关,一般为近似固定的延时
redis自身耗时=接受请求+分发请求+处理请求
总结redis单线程比较快的原因:
1) 使用IO多路复用,例如epoll (提升吞吐量)
2) 纯内存操作 (处理请求耗时短,单位时间内处理的请求数量就多)
3) 高效的数据结构,比如hash等 (尽量接近O(1)时间复杂度高效查询)
4) 性能瓶颈在内存,CPU不是瓶颈,单线程避免线程上下文的切换 (找到瓶颈所在,避免额外损耗)
5) 连接池 (避免连接创建和关闭带来的损耗)