hash
2024年1月1日小于 1 分钟
hash
hashtable底层结构
概述
结构
代码定义
结构图
list
是什么
redis list 是一组连接起来的字符串集合
list 最大元素个数是 2^32-1,新版是 2^64-1
适合场景
作为一个列表存储,属于比较底层的数据结构,可以使用的场景非常多。
存储一批任务数据,一批消息等
常用操作
写
set
是什么
是一个不重复、无序的字符串集合
如果是 intset 编码时,其实是有序的,整体看成无序的就行
适合场景
适合无序集合场景,如某个用户关注了哪些公众号
set 还提供了查交集,并集的功能
常用操作
写
string
string
string 是最基本的 k-v 结构,key 是唯一表示,value 是具体的值。
常用操作
常用操作聚集在 创建、查询、更新、删除
zset
是什么
使用场景
游戏排行榜。
常用操作
写
压缩列表
压缩列表是什么
解决什么问题
压缩列表是 list 的底层数据结构,压缩列表作为底层数据结构能提供紧凑型的数据存储方式,能节约内存(节省链表指针的开销),小数据量时遍历访问性能好(连续+缓存命中率高)
对象过期时间
是什么
redis 的过期时间是给一个 key 指定一个时间点,等达到这个时间,数据就被认为是过期数据,由 redis 进行回收
为什么要过期
跳表
是什么
跳表的结构
redis 单线程为什么这么快
快的 4 点原因
redis 单线程
redis 使用单线程,能达到每秒数万级别的处理能力