- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 Redis源码解析:08对象
前面介绍了Redis用到的所有主要数据结构,比如简单动态字符串(SDS)、双端链表、字典、压缩列表、整数集合等。然而Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,包括字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象,每种对象都用到了至少一种前面所介绍的数据结构。 Redis在执行命令之前,根据对象的类型
2016-02-28 16:14:40 947
原创 Redis源码解析:07压缩列表
压缩列表(ziplist)是列表键和哈希键的底层实现之一。当列表键只包含少量列表项,并且每个列表项要么是小整数值,要么是长度较短的字符串时;或者当哈希键只包含少量键值对,并且每个键值对的键和值要么是小整数值,要么是长度较短的字符串时,那么Redis就会使用压缩列表来做为列表键或哈希键的底层实现。 压缩列表是Redis为了节约内存而开发的,可用于存储字符串和整数值。它是一个顺
2016-02-21 17:32:06 1088
原创 Redis源码解析:06整数集合
整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。 intset可以保存类型为int16_t,int32_t,int64_t的整数值,并且保证集合中不会出现重复元素。 整数集合的结构体定义在intset.h中: typedef struct intset {
2016-02-14 08:57:18 675
柔性数组成员
2018-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人