Advertisement

Redis 串内字符串的底层机制(SDS 全方位解析)

阅读量:

前言:

我们可以了解到,在与Memcached相比时 "Redis的优势在于提供多种灵活的数据存储类型" 。 Redis具备了丰富的存储功能 "支持五种主要的数据存储类型" 包括字符串键值对集合列表等基本的数据类型。 在String类型的处理上 "Redis采用了全新的存储架构" 从而避免了传统方法中对底层进行简单化的模拟。 本节我们就来介绍一下SDS 这一核心组件的具体工作原理及其重要性。

定义学习

既然要学习到一个新的数据结构,那我们先来看看结构的定义是怎样的:

结构定义:
复制代码
    struct sdshdr{
    int len;// 用于记录buf数组中已经使用的字节的数量,也等于SDS所保留的字符串的长度。
    int free;// 记录buf数组中未使用的字节的数量。
    int free; // 字节数组,用于保存字符串。
    }

可能在看完结构的定义以后大家还是有点懵的,那么有图有真相:

在这里插入图片描述

如上图所示,下面我们来进行具体的介绍:

该属性值设为零,则表示此SDS没有任何未使用

全部评论 (0)

还没有任何评论哟~