标签:dynamic inf 性能 red 字符 sim 恢复 hdr 空间足
这里给大家分享一道很有趣的面试题。
面试官:redis我看你有使用过,说一下redis的基本类型吧?
A:String,Hash,Set,List,Zset。
面试官:redis中string类型的实现有没有了解过?
A:(喵喵喵?)
面试官:回家等通知吧。
作为一个爱学习的好孩子,遇到不会的当然要努力学习了,于是查阅了良多资料,算是把这个问题给搞明白了,下面且听我慢慢道来~
经过查阅资料,发现Redis的底层数据结构分为八种
Redis底层是用C语言写的,C语言中的字符串就是一个简单的字符数组,Redis中为了实现方便的扩展、安全和性能,自己定义了一个结构用来存储字符串。
我们叫它简单动态字符串(simple dynamic string)。
该数据结构中除了保存字符串,还保存了free(表示字符串剩余的空间)以及len(当前子字符串的长度)。
相比于C中的字符串,Redis这样做有几点好处:
最近因为换工作的原因,耽误了更新,从这周起恢复每周至少一篇的博客更新,敬请期待~
标签:dynamic inf 性能 red 字符 sim 恢复 hdr 空间足
原文地址:https://www.cnblogs.com/viyoung/p/11155178.html