一、命令的使用
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"