redis中的数据结构-linkedlist

tech2022-08-02  159

    链表提供了高效的节点重排能力,和顺序性查找方法,以及快速的增删链表元素的功能。很多的语言都实现了链表结构,但是redis所使用的C语言并没有内置这种结构,所以redis构造了自己的链表结构。同时,这种结构也是列表键的实现方式之一,如果列表键包含了众多的元素,或者包含了比较长的字符串,则会采用链表实现。除了列表键以外,订阅预发布,慢查询和监视器等功能也用到了链表。

    redis链表的结构和一般的链表并没有什么区别,都是头结点,尾结点,数据。但是redis的链表一般会用一个数据结构记录adlist.h/list,它保存了对应链表的头结点尾结点和链表长度,还内置了三个函数,复制节点函数dup(),释放节点函数free(),还有对比节点函数match(),这三个函数都是针对节点里保存的数据。  

最新回复(0)