- 博客(3)
- 收藏
- 关注
原创 Redis设计与实现笔记 4.字典
字典,又称为符号表(symbol table),关联数组(associative)或映射(map),是一种用于保存键值对的抽象数据结构。 在字段中,一个键(key)可以和一个值(value)进行关联(或者说将键映射为值),这些关联的键和值就称为键值对。 字典中的每个键都是独一无二的,程序可以在字典中根据键查找,更新和删除与之关联的值。 字典在Redis中的应用相当广泛,比如1.Redis的数...
2018-09-23 21:56:53 136
原创 Redis设计与实现笔记 3.链表
链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。 链表在Redis中的应用非常广泛,比如列表键(?)的底层实现之一就是链表。 除了链表键之外,发布与订阅,慢查询,监视器等功能也用到了链表,Redis服务器本身还使用链表来保存多个客户端的状态信息,以及使用链表来构建客户端输出缓冲区(output buffer)。 3.1链表和链表节点的实现 ...
2018-09-22 23:36:18 151
原创 Redis设计与实现笔记 2.简单动态字符串
Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组),而是自己构建Simple Dynamic String(SDS),名为简单动态字符串的抽象类型,并将SDS用作Redis的默认字符串表示。 2.1 SDS的定义 struct sdshdr { //记录buf数组中已使用字节的数量 //等于SDS所保存字符串的长度 int len; //...
2018-09-22 22:31:22 148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人