开发者社区 问答 正文

为什么Redis中String类型的数据在长度不超过44字节时会选择 REDIS_ENCODING_

为什么Redis中String类型的数据在长度不超过44字节时会选择 REDIS_ENCODING_EMBSTR 编码?

展开
收起
不吃核桃 2024-08-13 23:40:11 59 发布于河南 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • Redis中String类型的数据在长度不超过44字节时会选择 REDIS_ENCODING_EMBSTR 编码,是因为这种编码方式下,redisObject 和字符串数据是连续存储在内存中的,只需分配一次内存空间,查询效率会很高。然而,由于它们是连续存储的,当字符串长度增加并需要重新分配内存时,整个 redisObject 和字符串数据都需要重新分配空间,这可能会影响性能。因此,REDIS_ENCODING_EMBSTR 编码的字符串是只读的,一旦需要修改数据,就会转换成 REDIS_ENCODING_RAW 编码。

    2024-08-14 08:04:54 举报
    赞同 2 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等