Redis
底层数据结构
- 当数据量小, 通过数组实现的压缩数据结构用下标访问更快; 当数据量大, 维护数组的元数据占用空间随之增长, 所以使用普通存储
- redis支持<string, value>, value如下表所示
数据结构 | 压缩存储 | 压缩条件 | 普通存储 | 备注 |
---|---|---|---|---|
string | --- | --- | --- | 基础数据类型, 作为key |
list | ziplist | 1. 列表中保存的单个数据小于 64 字节 2. 列表中数据个数少于 512 个。 |
linkedlist | 压缩存储可以不限于字符串 |
hash | 压缩字典 | 1. 字典中保存的键和值的大小都要小于 64 字节 2. 字典中键值对的个数要小于 512 个。 |
散列表 | 1. 使用链表法解决冲突 2. 当装载因子>1, 触发动态扩容, 大小约为原Entry[]的2倍 3. 当装载因子<0.1, 触发动态缩容, 大小约为装载Entry的2倍 4. 动态扩缩容耗时, 需要rehash, 使用渐进式扩缩容 |
set | 有序数组 | 1.存储的数据都是整数 2.存储的数据元素个数不超过 512 个 |
散列表 | 同上 |
zset | ziplist | 1.所有数据的大小都要小于 64 字节 2.元素个数要小于 128 个 |
skiplist | --- |
标签:总结,存储,压缩,Redis,---,64,512 From: https://www.cnblogs.com/rellik96/p/16658372.html