数据类型-Hash

参考数据类型与底层数据结构,Hash类型存在压缩列表和字典两种数据结构。

当Hash中节点比较少的情况下,底层才用压缩列表ziplist进行存储数据,随着数据的增加,底层的ziplist就可能会转成字典结构,具体配置如下:
filed元素个数小于 hash-max-ziplist-entries(默认512),同时任意一个 value 的占用字节大小都小于hash-max-ziplist-value(默认64) 。
hash-max-ziplist-entries 512
hash-max-ziplist-value 64

Hash的field越多,当使用HgetAll获取全量数据时,性能越差,该命令的性能与field字段的数量成正比。

1、在filed数量小于阈值时,hgetall是hmget的性能的15倍以上

2、在filed数量大于阈值时,hmget是hgetall的性能的3倍以上

3、字典结构hmget是ziplist结构hmget的性能的30倍以上

4、存储量,字典结构是ziplist的5倍以上

生产环境配置

hash-max-ziplist-entries=512

hash-max-ziplist-value=64

posted on 2023-03-25 16:54  zhengbiyu  阅读(15)  评论(0编辑  收藏  举报