Redis中的Hash类型的底层编码

一、命令的使用

type <key>

type:说明key是五种基本类型里的哪种。

object encoding <key>

object encoding:说明key的底层是使用Redis中的哪种数据结构。

二、验证命令的情况

今天我们就拿Hash类型来做下检验。

当我们随便设置一个Hash类型的数据时:

hmset user:1 name jxl age 20

我们用type user:1,返回的是hash。

type user:1
hash

我们用object encoding user:1,返回的是ziplist。

object encoding user:1
"ziplist"

三、配置文件中的参数

我们通过配置发现:

config get hash*
1) "hash-max-ziplist-entries"
2) "512"
3) "hash-max-ziplist-value"
4) "64"

当hash结构中的数目小于512且key和value的值都是小于64字节时,hash的底层采用的是ziplist,否则采用hashtable数据结构。

四、验证配置的生效情况

我么可以在user:1中放入一个大于64字节的value。

hset user:1 address 1234567890123456789012345678901234567890123456789012345678901234567890

这时候,我们再看下底层编码:

object encoding user:1
"hashtable"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值