摘要:
Set数据结构 使用 intset 当同时满足下面两个条件时,使用 intset 存储数据 元素个数少于512个 (set-max-intset-entries: 512) 所有元素都是整数值 不满足上面的条件, 使用 hashtable intset 图解 //intset 的编码方式 #defi 阅读全文
![Redis 原理 - Set](https://img2022.cnblogs.com/blog/776421/202206/776421-20220628174329607-2036502346.png)
摘要:
Hash 数据结构 使用 ziplist 当同时满足下面两个条件时,使用 ziplist 存储数据 元素个数少于512个 (hash-max-ziplist-entries: 512) 每个元素长度小于64字节 (hash-max-ziplist-value: 64) 不满足上面的条件, 使用 ha 阅读全文
![Redis 原理 - Hash](https://img2022.cnblogs.com/blog/776421/202206/776421-20220628165027891-826028576.png)
摘要:
List 数据结构 Redis 3.2 前,使用 压缩列表zipList 或 双向链表linkedList 当同时满足下面两个条件时,使用zipList存储数据 list保存的每个元素长度小于64字节 列表中数据个数少于512个 Redis 3.2 及之后的底层实现方式: quickList qui 阅读全文
![Redis 原理 - List](https://img2022.cnblogs.com/blog/776421/202206/776421-20220628105741382-1459334361.png)
摘要:
String 数据结构 首先我来看下, Redis 中 String 的数据结构: 我们称之为 SDS (Simple Dynamic String) 简单动态字符串 struct sdshdr { //记录buf数组中已经使用的字节数(等价于字符串的长度strlen) int len; //记录b 阅读全文
![Redis 原理 - String](https://img2022.cnblogs.com/blog/776421/202206/776421-20220627164325545-390751461.png)