🐶
book
  • 本 GitBook 介绍
  • 读书笔记
    • 《Redis 设计与实现》
      • 字符串
      • 链表
      • 字典
      • 跳表
      • 整数数组
      • 压缩列表
      • 对象
    • 《编写高质量代码:改善Python程序的91个建议》
      • mysql
      • 函数的参数传值还是传引用
  • 随想
    • 文档写作
      • 写作技巧
      • Graphviz 画图
      • Swagger 使用例子
      • 中文文档规范
    • youtube 视频
    • 随想
  • 计算机
    • 分布式系统
      • CAP 介绍
      • 分步提交
    • 算法
    • 编程语言
      • NodeJS
      • Python
      • Go
      • CSS
        • Learn CSS | Codecademy
Powered by GitBook
On this page
  • 对象的类型
  • 对象的编码
  • 字符串对象 REDIS_STRING

Was this helpful?

  1. 读书笔记
  2. 《Redis 设计与实现》

对象

Previous压缩列表Next《编写高质量代码:改善Python程序的91个建议》

Last updated 5 years ago

Was this helpful?

redis 中所有的对象都是 redisObject

type redisObject {
    type uint
    encoding uint
    ptr interface{}
}

对象的类型

redisObject.type 可以是以下的类型之一

type 命令可以查看对象的 type 值

对象的编码

使用 object encoding 命令可以查看编码

字符串对象 REDIS_STRING

  • 如果这个字符串对象是一个数字,并且可以用 long 来表示,那么对应的是:

    • type = REDIS_STRING

    • encoding = REDIS_ENCODING_INT

  • 如果这个字符串是一个字符串值,并且长度大于等于 32 字节,那么:

    • type = REDIS_STRING

    • encoding = REDIS_ENCODING_EMBSTR

  • 如果这个字符串是一个字符串值,并且长度大于 32 字节,那么:

    • type = REDIS_STRING

    • encoding = REDIS_ENCODING_RAW