用过redis的小伙伴都知道,redis是一块性能极高的key-value数据库,据不完全统计redis的读的速度大约可达到10万次/s,写的速度大约可达到8万次/s,那么redis为什么这么快?对此我一直疑惑不已,然而网上的答案也大部分都是围绕以下三点进行说明:
- 纯内存KV操作
- 内部是单程实现的(不需要创建/销毁线程,避免上下文切换,无并发资源竞争的问题)
- 异步非阻塞的I/O(多路复用)
但是仅从这三点依然不能解决我的疑惑,故此,打算从redis的底层设计出发,一探究竟,寻找真正的答案。
用过redis的小伙伴都知道,redis是一块性能极高的key-value数据库,据不完全统计redis的读的速度大约可达到10万次/s,写的速度大约可达到8万次/s,那么redis为什么这么快?对此我一直疑惑不已,然而网上的答案也大部分都是围绕以下三点进行说明:
但是仅从这三点依然不能解决我的疑惑,故此,打算从redis的底层设计出发,一探究竟,寻找真正的答案。