Redis
reachwang
这个作者很懒,什么都没留下…
展开
-
redis---压缩列表
压缩列表是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,那么redis就会使用压缩列表来做列表键的底层实现。 另外,当一个哈希键只包含少量键值对,并且每个键值对的键和值要么就是小整数值,要么就是长度比较短的字符串,那么redis就会使用压缩列表来做哈希键的底层实现,例如:# 后续更新将某些情况改造成了quicklist快速...原创 2019-12-17 22:21:35 · 326 阅读 · 0 评论 -
redis--整数集合
整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,redis就会使用整数集合作为集合键的底层实现。1. 整数集合的实现整数集合是redis用于保存整数值的集合抽象数据结构,它可以保存类型为int16_t、int32_t或者int64_t的整数值,并且保证集合中不会出现重复元素。每个intset.h/intset结构表示一个整数集合:typedef st...原创 2019-11-27 19:40:35 · 426 阅读 · 0 评论 -
redis---字典
字典是一种用于保存键值对的抽象数据结构,在字典中一个键(key)可以和一个值(value)进行关联,这些关联的键和值就称为键值对,字典中的每个键都是独一无二的。1. 字典的实现redis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对。1.1 哈希表redis字典所使用的哈希表由dict.h/dictht结构定义:typedef...原创 2019-11-26 21:12:41 · 306 阅读 · 0 评论 -
redis---链表
redis中每个链表节点使用一个adlist.h/listNode结构来表示:typedef struct listNode { //前置节点 struct listNode *prev; //后置节点 //struct listNode *next; //节点的值 void *value;使用adlist.h/list来持有链表:typedef struct list { ...原创 2019-11-23 20:07:18 · 306 阅读 · 0 评论 -
redis---数据库
redis服务器会将所有的数据库保存在redisServer结构的db数组中,每一个redisDb结构代表一个数据库。如下:struct redisServer { ... redisDb *db; //一个数组,保存服务器中所有的数据库 ... int dbnum; //服务器中的数据库数量);1. 切换数据库当需要切换目标数据库时,可以使用SELECT命令。而在客户端状态r...原创 2019-11-14 09:06:18 · 272 阅读 · 0 评论 -
redis---简单动态字符串
Redis没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(SDS)的抽象类型,并将其作为Redis的默认字符串表示,即Redis中包含字符串值的键值对在底层都是由SDS实现的。...原创 2019-11-23 19:31:42 · 276 阅读 · 0 评论