![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis设计与实现(阅读笔记)
文章平均质量分 64
redis
yourkin666
主java辅go,学rust只是为装逼
展开
-
对象reids
redis并没有直接使用之前学的数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统这个对象系统包含了字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种,每个对象都用到了至少一种之前的数据结构redis可以在执行命令之前,根据对象的类型来判断一个对象是否可以执行给定的命令。原创 2024-06-18 15:27:33 · 566 阅读 · 0 评论 -
压缩列表(ziplist)
ziplist是列表键和哈希键的底层实现之一ziplist是redis为了节约内存而开发的是由一系列特殊编码的连续内存块组成的顺序型数据结构,一个ziplist可以包含任意多个节点,每个节点可以保存一个字节数组或者一个整数值ziplist的构成:ziplist节点的构成:连锁更新:原创 2024-06-17 15:29:03 · 612 阅读 · 0 评论 -
整数集合(intset)
intset是reids用于保存整数值的集合抽象数据结构,它可以保存int16_t,int32_t,int64_t整数值,并且保证集合中不出现重复元素。原创 2024-06-14 14:33:13 · 283 阅读 · 0 评论 -
Redis跳表
跳表是一种有序数据结构,它通过在每个节点维持多个指向其他节点的指针,从而达到快速访问节点的目的跳表支持平均O(logN),最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点大部分人时候,跳表的效率可以和平衡树媲美,而且跳表的实现更方便简单redis只在两个地方使用到了跳表,一个是实现有序集合键,另一个实在集群节点中用作内部数据结构。原创 2024-06-13 22:35:14 · 660 阅读 · 0 评论 -
redis字典
字典就是map,一种保存键值对的抽象数据结构字典里的每个键都是独一无二的,程序就是通过键来查其对应的值但C语言也没有内置map,因此redis自己构建的字典在Redis中,哈希键(Hash key)是一种特殊的键类型,它是一个字符串,其值是一个哈希表。哈希表中可以存储多个键值对字典就是哈希键的底层实现之一,当一个哈希键包含的键值对比较多,又或者键值对中的元素都是比较长的字符串时,Redis会使用字典作为底层实现哈希键。原创 2024-06-12 22:29:11 · 1344 阅读 · 0 评论 -
Redis链表
C语言没有内置链表,Redis自己构建的链表。链表在redis中的实现。原创 2024-06-11 17:33:23 · 576 阅读 · 0 评论 -
简单动态字符串SDS
Redis设计与实现(阅读笔记)原创 2024-06-10 23:07:10 · 1240 阅读 · 0 评论