数据库框架学习笔记(1)Redis设计与实现之简单动态字符串实现原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33173608/article/details/88292341

第二章:数据结构与对象
在这里插入图片描述
redis数据库里面的每个键值对都是由对象组成的,其中:
数据库键总是一个字符串对象
数据库键的值可以是字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种中的一种;

简单动态字符串SDS(simple dynamic string):

在这里插入图片描述
在这里插入图片描述

 笔记:
 redis保存的是字节数组---》buf字节数组,因为c中会判断‘/0’认为到结尾,无法保存其他中间可能
 出现‘/0’的数据,redis使用len判断是否到结尾,所以redis保存的是二进制数据。

 另外:redis还通过空间预分配和惰性空间释放提高了字符串动态增长/压缩的性能。redis还重用了c中
 对字符串操作的一些函数。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_33173608/article/details/88292341
今日推荐