admin

Redis中五大数据结构的底层实现

admin 运维技术 2022-11-20 481浏览 0

一、概述

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,与Memcached类似,却优于Memcached的一个高性能的key-value数据库。下面让我们来详细介绍一下redis中五大数据结构的底层实现。

二、简单动态字符串

1、概述

Redis是一个开源的使用ANSI C语言编写的key-value 数据库,我们可能会较为主观的认为 Redis 中的字符串就是采用了C语言中的传统字符串表示,但其实不然,Redis没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(simple dynamic string SDS)的抽象类型,并将SDS用作Redis的默认字符串表示:redis>SET msg "hello world"

SDS 定义:

structsdshdr{
//记录buf数组中已使用字节的数量
//等于SDS保存字符串的长度
intlen;
//记录buf数组中未使用字节的数量
intfree;
//字节数组,用于保存字符串
charbuf[];
}

Redis中五大数据结构的底层实现

图片

继续浏览有关 Redis 的文章
发表评论