玩转云端丨redis的5种对象与8种数据结构之字符串对象(下)

  1. 云栖社区>
  2. 袋鼠云技术团队>
  3. 博客>
  4. 正文

玩转云端丨redis的5种对象与8种数据结构之字符串对象(下)

袋鼠云 2019-08-12 16:08:48 浏览351
展开阅读全文

引言

本文是对《redis设计与实现(第二版)》中数据结构与对象相关内容的整理与说明。本篇文章只对对象结构,1种对象——字符串对象。以及字符串对象所对应的两种编码——raw和embstr,进行了详细介绍。表达一些本人的想法与看法,也希望更多朋友一起来讨论,分享交流。

作者:太阳

云掣科技-数据库团队
数据库工程师

字符串对象

字符串对象可以存储整数、浮点数、字符串,具体策略是:

当存储整数时,用到的编码是int,底层的数据结构可以用来存储long类型的整数;
当存储字符串时,如果字符串的长度小于等于32字节,那么将用编码为embstr的格式来存储;如果字符串的长度大于32字节,将用编码为raw的SDS格式来存储;
当存储浮点数时会先将浮点数转换为字符串,如果转换后的字符串长度小于32字节就用编码为embstr的格式来存储,否则用编码为r

网友评论

登录后评论
0/500
评论
袋鼠云
+ 关注
所属云栖号: 袋鼠云技术团队