redis在数据满足一定要求的情况下,会将数据在内部用压缩列表(ziplist)的形式存储,与直接使用双向链表存储相比,这样可以大大降低内存占用。

压缩列表:每存储一个字符串需要两个整数,和字符串本身,其中两个整数一个记录前一个节点的长度,另一个记录当前节点的长度。

双向链表:每存储一个字符串,需要三个指针,两个整数,字符串本身,以及一个额外结束符字节,其中两个整数,一个是当前字符串的长度,另一个是字符串值剩余可用空间。

查看redis使用压缩列表的配置:

config get *max-*-entries*

查看某一个key在redis的存储情况:

DEBUG OBJECT <name_0f_key>

如果DEBUG OBJECT不能使用,可以使用:

OBJECT REFCOUNT <name_of_key>

OBJECT ENCODING <name_of_key>

 

posted on 2018-01-11 11:28  Go_Forward  阅读(257)  评论(0编辑  收藏  举报