Redis之链表
来源:互联网 发布:那年夏天宁静的海 知乎 编辑:程序博客网 时间:2024/05/17 22:54
链表的介绍
链表提供高效的节点重排能力,以及顺序性的节点访问方式,并通过增删节点来灵活调整链表长度。
链表在Redis中的应用,例如,列表键的底层实现之一是链表。(当列表键包含的数量比较多的元素,或者包含的元素逗比比较长的字符串时,Redis就会使用链表作为列表键的底层实现)
redis>LLEN integers(integer)1024redis>LRANGE integers 0 10 //从1打印到11//integers列表键底层实现了一个链表,每个节点保存一个整数值
在 发布与订阅、慢查询、监视器等功能也用到了链表,Redis本身使用链表来保存多个客户端的状态信息,以及使用链表来构建客户端输出缓冲区。
链表及链表节点的实现
链表节点
typedef struct listNode{ struct listNode *prev;//前驱节点 struct listNode *next;//后继节点 void *value;//节点的值}listNode;
链表
list结构为链表提供了头指针head、尾指针tail、链表长度计数器len
typedef struct list{ listNode *head; //持有头结点 listNode *tail; //持有尾节点 unsigned long len;//链表包含的节点数量 void *(*dup)(void *ptr);//节点值复制函数 void (*free)(void *ptr);//节点值释放函数 int (*match)(void *ptr,void *key);//节点值对比函数}list;
此链表是个无环链表,头指针的prev是null,尾指针的next是null
0 0
- Redis之链表
- Redis之链表
- Redis数据类型之链表
- Redis数据结构之链表
- redis之三的链表
- Redis之link 链表结构
- redis源码学习之链表
- Redis底层数据结构之链表
- redis之跳跃表
- Redis之跳跃表
- Redis之跳跃表SkipList
- redis之五跳跃表
- 【Redis源码剖析】 - Redis内置数据结构之双向链表list
- redis之redis.conf
- Redis之初识Redis
- redis 源代码之数据结构(1)--链表的实现
- redis 源代码之数据结构(sds,链表的实现)
- Redis源码学习3-基本数据结构之双向链表
- 梁广轩_1505010601_实验4
- Java开发的准备
- 389. Find the Difference
- 正则匹配主机及端口
- 搬运自己的mysql学习笔记1.工具类的抽取
- Redis之链表
- AJAX开发基础及原生JS操作步骤
- 利用JFreeChart绘制股票K线图
- CodeForces 801B Valued Keys
- ZJOI2017二试
- 视频编解码概念:时间戳DTS和PTS的相关分析
- 学习资源
- 运算放大器的基础原理
- 关于解决TOMCAT编码(利用iso8859-1码表)出现乱码的方法