为什么要有ziplist 有两点原因: 普通的双向链表,会有两个指针,在存储数据很小的情况下,我们存储的实际数据的大小可能还没有指针占用的内存大,是不是有点得不偿失?而且Redis是基于内存的,而且是常驻内存的,为了节省内存,又能达到链表的功能,ziplist出现了. 链表在内存中,一般是不连续的,遍历相对比较慢,而ziplist可以很好的解决这个问题. ZipList 不用指针实现双端链表,具备双端链表的特性,可在任意一端进行压入,弹出操作 #define ZIP_END 255 #defin