开发者社区> 问答> 正文

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

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

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

    2024-08-14 08:04:54
    赞同 2 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis在唯品会的应用实践——架构演进与功能定制 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载