Skip to content

Ivanqi/RedisDataStructure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redis 数据结构

数据结构 说明
adlist 链表
dict 字典
intset 整数集合
quicklist 快表
robj Redis 对象
sds 字符串
ziplist 压缩列表
zskiplist 跳跃表

数据结构之间的关系

疑问

  • 在数据量比较小的情况下,Redis 中的很多数据类型,比如字典、有序集合等,都是通过多种数据结构来实现的,为什么会这样设计呢?用一种固定的数据结构来实现,不是更加简单吗?
    • redis的数据结构由多种数据结构来实现,主要是出于时间和空间的考虑,当数据量小的时候通过数组下标访问最快、占用内存最小,而压缩列表只是数组的升级版
    • 因为数组需要占用连续的内存空间,所以当数据量大的时候,就需要使用链表了,同时为了保证速度又需要和数组结合,也就有了散列表

参考资料

About

Redis2 和 Redis5数据结构

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages