Redis 的五种数据类型与底层数据结构实现

本文深入探讨了Reids,一种高性能的内存型k-v数据库,详细介绍了其底层C语言实现和五种核心数据结构:字符串、列表、哈希、集合及有序集合。文章还解析了简单动态字符串(SDS)、链表、字典、跳跃表和整数集合等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Reids 是一种内存型 k-v 数据库,底层采用 C 语言实现。

 

提供了五种常用的数据类型:

1. 字符串 - 通过数值或 SDS 实现  

2. 列表 - 通过压缩列表或双端链表实现

3. 哈希 - 通过压缩列表或字典实现

3. 集合 - 通过整数集合或字典实现

4. 有序集合 - 通过压缩列表的有序集合或跳跃表+字典组合的数据结构实现

 

简单动态字符串

   数据结构采用 SDS (简单动态字符串)实现,采用空间预分配和惰性释放的原则,使其满足动态扩展的同时又具备很高的性能。

链表

  实现通过由 C 语言实现的基于双端链表的数据结构实现,存储链表头、链表尾和链表长度等。

字典

  

跳跃表

  

整数集合

 

压缩列表

 

转载于:https://www.cnblogs.com/mykiya/p/10960114.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值