特性listpackdict(哈希表)内存占用低(连续存储,无指针开销)高(指针、元数据、哈希表桶开销)100个值内存占用2.2KB)12KB查询效率O(n)(需遍历)O(1)(哈希直接定位)插入/删除效率中等(需内存重排)高(直接操作节点,但扩容有抖动)适用场景小数据(字段数少,值长度短)大数据(字段多,查询频繁)主动转换阈值hash-max-listpack-entries(默认512)hash-max-listpack-value(默认64字节)超出阈值时主动转为 dict内存碎片少(连续内存块)多(动态扩容、指针分散) 3. List
基于上文对listpack的介绍,它是一个紧凑(节流内存)、小数据量性能有保障(大数据量性能欠好)的数据结构,为了应对大数据量使用quicklist分段listpack进行管理,但只有到达阈值才会从单个listpack升级到quicklist(也就是一开始List里面只有一个listpack),同时到达阈值也会降级为一个listpack。
4. Set