Redis使用hash-max-ziplist-entries高效存储哈希时,键需为整数吗?
Redis哈希ziplist编码的条件说明
Redis使用ziplist作为哈希的高效存储编码时,不需要哈希的键(field)必须是整数,核心判断依据是以下两个配置阈值:
- 哈希内的键值对总数不超过
hash-max-ziplist-entries的设定值(默认512) - 每个field和对应value的字节长度都不超过
hash-max-ziplist-value的设定值(默认64字节)
你提到的“值为整数是前提”的说法并不准确:只要value的字节长度符合阈值要求,不管是整数还是短字符串,都可以被ziplist紧凑存储。ziplist的核心是用连续内存块存储小元素,和元素是否为整数没有强制关联,只看实际占用的字节大小。
内容的提问来源于stack exchange,提问作者Geert-Jan
相关产品推荐
相关产品推荐

