0%

redis为什么快

redis 为什么快

6oiCxU.png

基于内存的实现

内存是很快的,和传统的数据库作比较,内存比磁盘是要快2-3个数量级的。

单线程模型

redis的大多数指令都是在单线程中运行的,这能减少不必要的上线文切换,避免加锁,并且可以保证操作的原子性。

IO 多路复用

IO 多路复用是一种高效的 IO 编程模型。

高效的数据结构

redis 根据实际的数据类型和数据量大小选择合适的数据结构。例如在底层,redis有动态字符串,双向链表,压缩列表,跳跃表,hash表等数据结构。

哈希表

redis 全局就是一个大的 hash 表,他的操作时间复杂度是 O(1),并且配合渐进式的 rehash 过程,redis 也不会出现内存拷贝导致阻塞的问题。

参考

redis 快的原因