Redis | 哈希对象

Redis中的哈希对象可采用ziplist或hashtable编码。ziplist适用于键值对数量少且键值长度小于64字节的情况,以压缩列表存储,键值对相邻;hashtable则使用字典结构,每个键值对为独立的字典键值对。当ziplist条件不满足时,对象将自动转为hashtable编码。
摘要由CSDN通过智能技术生成

        哈希对象的编码可以是ziplist或者 hashtable。ziplist编码的哈希对象使用压缩列表作为底层实现,每当有新的键值对要加入到哈希对象时,程序会先将保存了键的压缩列表节点推入到压缩列表表尾,然后再将保存了值的压缩列表节点推人到压缩列表表尾,因此 

  • 保存了同一键值对的两个节点总是紧挨在一起,保存键的节点在前,保存值的节点在后。
  • 先添加到哈希对象中的键值对会被放在压缩列表的表头方向,而后来添加到哈希对象中的键值对会被放在压缩列表的表尾方向。

例如:

redis> HSET profile name "Tom"
OK

redis> HSET profile age 25
OK

redis> HSET profile career "Programmer"
OK

如果 profile键的值对象使用的是ziplist编码,那么这个值对象将会是下图所示的样子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值