目录
4.如果有大量的key需要设置同一时间过期,一般需要注意什么
如果 epoll 同个 socket 读到一半又有数据进入怎么处理
0.redis基本结构和实现
ziplist

各部分的含义如下:
zlbytes:整个压缩列表占用字节数,包含本身
zltail_offset:最后一个元素距离压缩列表起始位置的偏移量,用于快速定位到最后一个节点,从而可以在ziplist尾部快速的执行push,pop操作
zllength:元素个数,该字段只有16bit所以可以表达的最大值为2^16-1,如果ziplist元素超了该值呢?这里规定,如果zllength小于等于 2^16-2,该字段表示为ziplist中元素的个数
本文详细介绍了 Redis 的基本数据结构,包括 ziplist、quicklist、listpack、string、list、hash、set 和 Zet 的设计与实现。讲解了 Redis 为何使用这些数据结构以及它们各自的优缺点,例如 ziplist 避免连锁更新的问题,quicklist 结合了链表和 ziplist 的优点,listpack 的内存优化。此外,还涵盖了 Redis 的持久化、主从复制、分布式锁、内存回收策略等核心概念。最后讨论了 Redis 的线程模型、Pika 的特性和与其他 Redis 替代方案的对比,以及 Redis 在实际使用中可能遇到的问题和解决方案。
订阅专栏 解锁全文
1015

被折叠的 条评论
为什么被折叠?



