首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Redis
Nyarlathotep0113
创建于2026-03-24
订阅专栏
记录关于Redis的知识
暂无订阅
共16篇文章
创建于2026-03-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Redis一条指令执行流程
本文叙述了一条指令从发送到客户端接收结果的整个流程,总共分为四个阶段,着重描述了IO多线和命令执行单主线程
Redis对象空转时长
redis对象空转时长 在redisObject中除了type,coding,ptr,refcount之外,还有一个lru属性,用于记录了对象最后一次被访问的时间
Redis的内存回收和对象共享
Redis中的内存回收 因为 C 语言并不具备自动的内存回收功能, 所以Redis在自己的对象系统中构建了一个引用计数技术实现的内存回收机制, 通过这一机制, 程序可以通过跟踪对象的引用计数信息
Redis的对象(5):有序集合对象
有序集合 有序集合的编码可以是 ziplist 或者 skiplist 。 ziplist编码 ziplist 编码的有序集合对象使用压缩列表作为底层实现, 每个集合元素使用两个紧挨在一起的压缩列表节
Redis的对象(4):集合对象
集合对象 集合对象的编码可以是 intset 或者 hashtable 。 intset编码 intset 编码的集合对象使用整数集合作为底层实现, 集合对象包含的所有元素都被保存在整数集合里面。
Redis的对象(3):哈希对象
哈希对象 哈希对象的编码可以是 ziplist 或者 hashtable 。 ziplist编码 ziplist 编码的哈希对象使用压缩列表作为底层实现
Redis的对象(2):列表对象
列表对象 列表对象的编码可以是 ziplist 或者 linkedlist 。 ziplist编码 ziplist 编码的列表对象使用压缩列表作为底层实现
Redis的对象(1):字符串对象
字符串对象 字符串对象的编码可以是 int 、 raw 或者 embstr 。 int编码,不同编码的实现不同
Redis的对象类型和编码
对象 Redis中的每个对象都由一个 redisObject 结构表示, 该结构中和保存数据有关的三个属性分别是 type 属性、encoding 属性和ptr 属性
Redis的数据结构(7):listpack
什么是listpack listpack是Redis 5.0引入的一种紧凑列表数据结构,专为优化内存占用而设计。它是为了替代旧的ziplist(压缩列表)而开发的更高效、更健壮的数据结构
Redis的数据结构(6):压缩列表
什么是压缩列表 压缩列表是Redis为了节约内存而开发的, 由一系列特殊编码的连续内存块组成的顺序型数据结构。 一个压缩列表可以包含任意多个节点, 每个节点可以保存一个字节数组或者一个整数值。
Redis的数据结构(5):整数集合
什么是整数集合? 整数集合(intset)是Redis用于保存整数值的集合抽象数据结构, 它可以保存类型为int16_t、int32_t或者int64_t的整数值,并且保证集合中不会出现重复元素。
Redis的数据结构(4):跳表
什么是跳表? 跳跃表(skiplist)是一种有序数据结构, 它通过在每个节点中维持多个指向其他节点的指针, 从而达到快速访问节点的目的。 跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,
Redis的数据结构(3):字典
哈希 Redis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对。
Redis的数据结构(2):链表
链表 Redis中的链表节点结构如下: 多个listNode可以通过prev和next组成双端链表。
Redis的数据结构(1):SDS
SDS是简单动态字符串,是Redis字符串使用的底层数据结构。 SDS遵循C语言中字符串以空字符串结尾的惯例,保存空字符的那1个空间不算在len中。