查看与阈值
查看与阈值
HSET h f1 v1
OBJECT ENCODING h # listpack
CONFIG GET hash-max-listpack-entries # 128
CONFIG GET hash-max-listpack-value # 64
# 加一个超 64 字节的值后:
HSET h big $(python3 -c "print('a'*100)")
OBJECT ENCODING h # hashtable(一旦超过不可逆)| listpack | 小字段集,内存紧凑 |
|---|---|
| hashtable | 大字段集,读写 O(1) 均摊 |
| 阈值 | hash-max-listpack-entries / hash-max-listpack-value |
编码转换不可逆:设计时把字段数与 value 大小控制在阈值内,能省大量内存;超了也不会错,只是内存开销上升。