《redis设计与实现》数据结构篇,有哪些关键点值得共读探讨?

2026-05-19 22:070阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计7499个文字,预计阅读时间需要30分钟。

《redis设计与实现》数据结构篇,有哪些关键点值得共读探讨?

每月读一本专业书籍+提前将之前积压的书先浏览一遍,主要是有一个大致的了解,之后用的时候也知道在哪里找。所以,准备开几篇共读书的帖子,激发大家多看书。+Redis+基于+简单动态字符集

每个月读一本厚书

准备将之前攒下的书先看一遍,主要是有个大概的了解,以后用的时候也知道在哪里找。所以准备开几篇共读的帖子,激励自己多看一些书。

Redis 基于 简单动态字符串(SDS)、双端链表字典压缩列表整数集合等基础的数据结构,创建了一个对象系统,这个对象系统包含:字符串对象(String)、列表对象(List)、集合对象(Set)、有序集合对象(Zset)、哈希对象(Hash) 5种数据对象类型。但是这5种对象类型,其内部的基础的存储结构 并不是 一对一的一种,而是每一种包含了至少两种数据结构。

我们这篇主要用来说一下其基础的存储结构

前提条件

redis 底层是使用C语言编写的,所以很多函数直接使用的C库。

一、SDS(简单动态字符串)

我们知道C语言中字符串 是以字符数组char[]进行存储的,字符串的结束是以 空字符‘/0’ 来进行标识的,也就是字符串的实际长度比我们看见的字符串都会多1 byte(字节)
如果我们想要查看一下字符串的长度,那么就需要遍历一下字符数组,时间复杂度为O(n)。

阅读全文

本文共计7499个文字,预计阅读时间需要30分钟。

《redis设计与实现》数据结构篇,有哪些关键点值得共读探讨?

每月读一本专业书籍+提前将之前积压的书先浏览一遍,主要是有一个大致的了解,之后用的时候也知道在哪里找。所以,准备开几篇共读书的帖子,激发大家多看书。+Redis+基于+简单动态字符集

每个月读一本厚书

准备将之前攒下的书先看一遍,主要是有个大概的了解,以后用的时候也知道在哪里找。所以准备开几篇共读的帖子,激励自己多看一些书。

Redis 基于 简单动态字符串(SDS)、双端链表字典压缩列表整数集合等基础的数据结构,创建了一个对象系统,这个对象系统包含:字符串对象(String)、列表对象(List)、集合对象(Set)、有序集合对象(Zset)、哈希对象(Hash) 5种数据对象类型。但是这5种对象类型,其内部的基础的存储结构 并不是 一对一的一种,而是每一种包含了至少两种数据结构。

我们这篇主要用来说一下其基础的存储结构

前提条件

redis 底层是使用C语言编写的,所以很多函数直接使用的C库。

一、SDS(简单动态字符串)

我们知道C语言中字符串 是以字符数组char[]进行存储的,字符串的结束是以 空字符‘/0’ 来进行标识的,也就是字符串的实际长度比我们看见的字符串都会多1 byte(字节)
如果我们想要查看一下字符串的长度,那么就需要遍历一下字符数组,时间复杂度为O(n)。

阅读全文