Redis源码学习系列

8 篇文章
37 人订阅

全部文章

里奥搬砖

腾讯 · 高级工程师 (已认证)

Redis源码学习之字符串对象

前文中提到,Redis的字符串对象的底层数据结构有三种,分别是整数编码、EMBSTR编码和SDS编码。在不同使用场景下进行相互切换,起到节约内存的作用。

2263
里奥搬砖

腾讯 · 高级工程师 (已认证)

Redis源码学习之列表对象

列表对象的底层实现可以是【压缩列表】或者【双端链表】,Redis会通过用户对于压缩列表单个节点值长度(list_max_ziplist_value)和键值对个数...

1532
里奥搬砖

腾讯 · 高级工程师 (已认证)

Redis源码学习之对象系统

在前面的文章中,我介绍了Redis的底层数据结构,但Redis对外提供的命令并没有直接使用它们,而是基于它们构建更高级的数据对象,总共包括5中对象类型,分别为【...

1333
里奥搬砖

腾讯 · 高级工程师 (已认证)

Redis源码学习之压缩列表

压缩列表是列表对象、哈希对象和有序集合对象的底层实现之一。以列表对象为例,当列表节点都是比较小的整数或者比较短的字符串的时候,Redis就会选择压缩列表来做底层...

840
里奥搬砖

腾讯 · 高级工程师 (已认证)

Redis源码学习之整数集合

整数集合在Redis中是集合对象的底层存储之一,当一个集合对象的元素都是整数类型且元素数量不多(不超过512个)时,就会使用整数集合。

1060
里奥搬砖

腾讯 · 高级工程师 (已认证)

Redis源码学习之跳表

跳跃链表简称为跳表(SkipList),它维护了一个多层级的链表,且第i+1层链表中的节点是第i层链表中的节点的子集。跳表作为一种平衡数据结构,经常和平衡树进行...

2.9K2
里奥搬砖

腾讯 · 高级工程师 (已认证)

Redis源码学习之字典

在字典结构体中,包含了一组字典函数(dictType),通过封装的方法处理对应的操作,通常在字典初始化的时候对其进行配置。

2801
里奥搬砖

腾讯 · 高级工程师 (已认证)

Redis源码学习之链表

Redis实现的是双端无环链表,pre指针指向其前置节点,next指针指向其后置节点,表头节点的pre属性和表尾节点的next属性为nil,节点值...

1630

扫码关注云+社区

领取腾讯云代金券