对象编码

语法
OBJECT ENCODING key
从以下位置开始可用:
2.2.3
时间复杂度:
O(1)
ACL 类别:
@keyspace, @read, @slow,

返回存储在<key>

Redis 对象可以用不同的方式进行编码:

  • 字符串可以编码为:

    • raw、普通字符串编码。
    • int,表示 64 位有符号间隔中的整数的字符串,以这种方式编码以节省空间。
    • embstr、嵌入字符串,它是一个对象,其中内部简单动态字符串sds,是与对象本身相同的卡盘中分配的不可修改的字符串。embstr可以是长度不超过硬编码限制OBJ_ENCODING_EMBSTR_SIZE_LIMIT或 44 字节。
  • 列表可以编码为:

    • linkedlist、简单列表编码。不再使用,旧的列表编码。
    • ziplist,Redis <= 6.2,一种用于小列表的节省空间的编码。
    • listpack,Redis >= 7.0,一种用于小列表的节省空间的编码。
    • quicklist,编码为 ziplist 或 listpacks 的 linkedlist。
  • 集合可以编码为:

    • hashtable、正常集编码。
    • intset,一种用于仅由整数组成的小集的特殊编码。
    • listpack,Redis >= 7.2,一种用于小型集的节省空间的编码。
  • 哈希可以编码为:

    • zipmap,不再使用旧的哈希编码。
    • hashtable、普通哈希编码。
    • ziplist,Redis <= 6.2,一种用于小哈希的节省空间的编码。
    • listpack,Redis >= 7.0,一种用于小哈希的节省空间的编码。
  • 排序集可以编码为:

    • skiplist,正常的排序集编码。
    • ziplist,Redis <= 6.2,一种用于小型排序集的节省空间的编码。
    • listpack,Redis >= 7.0,一种用于小型排序集的节省空间的编码。
  • 流可以编码为:

    • stream,编码为 ListPack 的基数树。

一旦您执行了使 Redis 无法保留节省空间的编码的作,所有特殊编码类型都会自动转换为通用类型。

RESP2 回复

以下选项之一:

RESP3 回复

以下选项之一:


为本页评分
返回顶部 ↑