代码改变世界

redis小试牛刀02-链表

2015-06-03 15:07  这个男人来自地球  阅读(193)  评论(0编辑  收藏  举报

  链表,提供高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活的调整链表的长度;实现redis的各种功能,比如列表键,发布与订阅,慢查询,监视器等。

  每个链表节点由一个listNode结构来表示,每个节点都有一个指向前置节点和后置节点,所以redis链表实现的是双端链表。

  每个链表使用一个list结构来表示,这个结构带有表头节点指针、表尾节点指针以及链表长度等信息。

  因为链表表头节点的前置节点和表尾节点的后置节点都指向NULL,所以redis实现的链表是无环链表。

  通过为链表设置不同的类型特定函数,redisde的链表可以用于保存各种不同类型的值。

  说明一下,链表认识的很不好,还有指针这些东西,只好默默弄了上面的一些。

参考黄健宏老师的《Redis设计与实现》