本章将对Redis服务器的数据库实现进行详细介绍,说明服务器保存数据库的方法,客户端切换数据库的方法,数据库保存键值对的方法,以及针对数据库的添加、删除、查看、更新操作的实现方法等。除此之外,本章还会说明服务器保存键的过期时间的方法,以及服务器自动删...
Redis并没有直接使用SDS, 链表, 字典等数据结构来实现键值对数据库, 而是基于这些数据结构构建了一个对象系统, 包含字符串对象, 列表对象, 哈希对象, 集合对象和有序集合对象五类.
8.1 对象的类型与编码每次在Redis中新建一个键值对时...
压缩列表(ziplist)时列表键和哈希键地底层实现之一. 当一个列表键只包含少量列表项, 并且每个列表项要么就是小整数值, 要么就是长度比较短的字符串, 那么Redis就会使用压缩列表来做列表键的底层实现.
7.1 压缩列表的构成压缩列表是Redi...
整数集合(intset)是集合键的底层实现之一, 当一个集合只包含整数值元素, 并且这个集合的元素数量不多时, 则使用整数集合作为底层实现.
整数集合的保存类型为int16_t, int32_t, int64_t的整型, 集合中不会有重复元素.
6....
https://www.jianshu.com/p/9d8296562806
跳跃表(skiplist)是一种有序数据结构, 它通过在每个节点中维持多个指向其他节点的指针, 从而达到快速访问节点的目的. 跳跃表支持平均O(logN), 最坏O(N)...
字典又称符号表(symbol table), 关联数组(associative array), 映射(map), 是一种用于保存键值对的数据结构. 字典中的每个键都是独一无二的.
Redis的数据库就是使用字典来作为底层实现的, 对数据库的增删查改操...
链表在Redis中应用广泛, 如列表键, 发布与订阅, 慢查询, 监视器等功能.
3.1 链表和链表节点表示
dup函数用于复制链表节点所保存的值
free函数用于释放链表节点所保存的值
match函数用于对比链表节点所保存的值是否与输入...
Rdis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。
Redis中所有...
参考github
面试准备计算机基础知识复习
将上面你学习过的内容,包含下面关键词的,都重新复习、做笔记一下
C、C++、数据库原理与设计、操作系统、计算机网络、Linux程序设计、Shell、MySQL、Redis
面试常考内容复习(所谓的八股...
参考github
找资料推荐几个网站
https://xmsoushu.com/#/
https://zbook.eu.org/
https://www.jiumodiary.com/
顺序,从上到下依次学习,尽量不要跳跃计算机导论
计算...