redis的链表主要应用在队列、发布与订阅等应用里面,下面介绍一下redis的链表实现,以及如何应用。
链表的数据结构:
typedaf struct list{
listnode *head;//头结点
listnode *tail;//尾节点
unsigned long len;//链表长度
void *(*dup) (*void ptr);//链表复制函数
void *(*free) (*void ptr);//链表释放函数
int ( *match)(void * ptr,void *key);//链表值匹配函数
}
链表节点的数据结构:
typedef struct listnode {
struct listnode *prev;//前制节点
struct listnode *next;//后置节点
void value;//当前节点值
}listnode;
多个list可以通过prev和next进行连接。