2.2.3及以上版本可用
时间复杂度:O(1).
OBJECT命令允许你从内部查看给定的Redis对象。它对查错很有帮助,同时也让你了解某个key使用了何种编码类型,这对节省存储空间很有帮助。当使用Redis作为缓存时,你可以依据OBJECT命令获取的信息制定key的淘汰策略。
OBJECT命令支持多个子命令:
对象可以有多种编码方式(译者注:redis中的值都是以内部对象的形式进行存储的,不同的编码方式即不同的存储对象类型):
如果你的操作使用得Redis不再能够使用节省空间的编码方式(译者注:比如字串变得很长,集合变得很大。),Redis会自动将其转化为通用编码方式。
不同的子命令有不同的返回值。
redis> lpush mylist "Hello World"
(integer) 4
redis> object refcount mylist
(integer) 1
redis> object encoding mylist
"ziplist"
//10秒后执行
redis> object idletime mylist
(integer) 10
一旦当前编码类型对应的存储空间不够,redis将转换编码类型。下面的例子对此进行了展示。
redis> set foo 1000
OK
redis> object encoding foo
"int"
redis> append foo bar
(integer) 7
redis> get foo
"1000bar"
redis> object encoding foo
"raw"