Redis 源码分析有序集合对象(z_zset)

Redis 源码分析有序集合对象(z_zset)

数据结构typedef struct zset { dict *dict; zskiplist *zsl; } zset;两种实现方式1、ziplist 第一个节点保存元素的成员,而第二个节点则保存元素的分值。压缩列表内的集合元素按分支从小到大排序,分值小的元素被放置在靠近表头的方向,分值较大的被放...

Redis 源码分析集合对象(z_set)

Redis 源码分析集合对象(z_set)

数据结构Redis set 对象也是采用了两种方式:intset 和 hashtable 来实现的, hashtable 底层通过 dict 实现。intset 编码intset 编码的集合对象使用整数集合(intset)作为底层实现,整数集合包含的所有元素都保存在整数集合中。127.0.0.1:6...

Redis入门及实战

6 课时 |
1896 人已学 |
免费

Redis入门到精通(进阶篇)

66 课时 |
1226 人已学 |
免费

Redis入门到精通(基础篇)

46 课时 |
1058 人已学 |
免费
开发者课程背景图
Redis 源码分析哈希对象(z_hash)

Redis 源码分析哈希对象(z_hash)

数据结构Redis 的 hash 对象采用了两种方式来实现,前面分析过连续内存和非连续内存的优缺点,这里 hash 列表也折中了两种情况。两种存储结构(代码位置 src/t_hash.c):ziplist 编码:ziplist 编码的哈希对象使用压缩列表作为底层实现,每当有新的键值对要加入到哈希对象...

Redis 源码分析列表对象(z_list)

Redis 源码分析列表对象(z_list)

新版 redis 的 list 实际上只有一种数据结构 quicklist ,而且是一种双向链表, 代码如下:数据结构如下:我们再来看看源码:/* quicklistNode is a 32 byte struct describing a listpack for a quicklist. * W...

Redis 源码分析字符串对象(z_string)

Redis 源码分析字符串对象(z_string)

字符串对象字符对象的三种编码可以是 int, raw 或者 embstr, 三种情况我分别来说明一下:如果一个字符串对象保存的整数值,并且这个整数值可以用 long 类型来表示,那么这个字符串会将整数值保存在字符串对象结构的 ptr 属性值里面,并且字符串对象的编码设置为 int.如果一个字符串保存...

Redis 源码分析对象(redisObject)

Redis 源码分析对象(redisObject)

数据结构源码如下:typedef struct redisObject { // 类型 unsigned type:4; // 编码 unsigned encoding:4; unsigned lru:LRU_BITS; /* LRU time (relative to global lru_clo...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

社区圈子

云原生多模数据库Lindorm
云原生多模数据库Lindorm
Lindorm是适用于任何规模、多种类型的云原生数据库服务,支持海量数据的低成本存储处理和弹性按需付费,兼容HBase、Solr、SQL、OpenTSDB等多种开源标准接口,是互联网、IoT、车联网、广告、社交、监控、游戏、风控等场景首选数据库,也是为阿里巴巴核心业务提供支撑的数据库之一。
1211+人已加入
加入
相关电子书
更多
2023云栖大会:阿里云Redis - 更稳更快更好用
阿里开发者手册-Redis专题
国内开发者与Redis开源社区的发展
立即下载 立即下载 立即下载