Redis原理
Redis原理:
动态字符串SDS :
Redis是C语言实现的,其中SDS是一个结构体,源码如下:
例如,一个包含字符串”name” 的sds结构如下:
SDS之所以叫做动态字符串,是因为具备动态扩容的能力,,例如一个内容”hi” SDS:
- 假如我们要给SDS追加一段字符串,”Amy” ,这里首先申请新内存空间。
- 如果新的字符串小于1M,则新的空间为扩展后的字符串长度的两倍+1.
- 如果新的字符串大于1M,则新空间为扩展后字符串长度+1 M+1.称为内存预分配。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 little_kim!
评论