Redis链表
链表的定义
1 | //链表节点 |
1 | //链表 |
Redis的链表特性
双端:链表节点带有prev和next指针,获取前置和后置节点的复杂度都是O(1)
无环:表头节点的prev指针和表尾节点的next指针都指向NULL,对链表的访问以NULL为终点。 带表头指针和表尾指针 带链表长度计数器
头尾指针:将程序获取头尾节点的复杂度降为O(1)
长度计数器:将程序获取表长的复杂度降为O(1)
多态:链表节点使用void*指针来保存节点值,并且可以通过list结构的dup、free、match
为节点值设置类型特定函数,所以链表可以用于保存各种不同类型的值