`

redis数据结构解析

阅读更多
                                  redis数据结构解析

之前一直以为redis中的数据结构是B+树之类的数据结构(数据库的索引机制),但是事实上是我想多了,redis本身的数据结构大多数都是我们常见的,除了跳跃表这个概念,也没有其他新型结构;纵观redis的整体,是通过空间换取时的思想,另外添加了事务和集群的概念,就形成了我们现在眼前的redis。
先来看一下redis支持的数据类型
1.字符串
2.列表(list)
3.集合(set)
4.hash
5.zset(有序set)
本文只对redis数据结构做大概的介绍,后续会对不同的结构做专题分析
1.字符串
   reids 最基本的数据结构是字符串,但是它的字符比C语言的字符串要复杂一点,redis的字符串成为 SDS (simple dynamic String);与正常的String 不一样的是,它在基本的String 上做了一些扩展。SDS 一共三个属性:freeSize,len,buffer,
2.字典 hash 结构,俗称的map,redis中的字典比较复杂,一个字典中会有两套hash结构
3.链表
  链表结构属于双向链表,集合的基础数据
4.跳跃表
  redis中有序集合的基础,可以先参考一下java中的跳跃表,但比java的要复杂
5.整数集合
  redis中集合数据的实现之一
6.压缩列表
  列表键和hash键的的底层实现之一
大家可以先对redis中大体包含的数据结构了解一下,有时间再一起深入了解reids,带大家一起装逼!!!
分享到:
评论

相关推荐

    redis数据结构.pdf

    Redis 数据结构详解 Redis 不仅仅是一个简单的键值数据库,它是一个强大的数据结构服务器,提供了多种类型的数据结构,使得数据处理更为灵活。以下是 Redis 支持的主要数据结构: 1. **二进制安全字符串**:Redis ...

    详解redis数据结构之sds

    详解redis数据结构之sds  字符串在redis中使用非常广泛,在redis中,所有的数据都保存在字典(Map)中,而字典的键就是字符串类型,并且对于很大一部分字典值数据也是又字符串组成的。以下是sds的具体存储结构: ...

    52丨算法实战(一):剖析Redis常用数据类型对应的数据结构1

    【Redis 数据结构详解】 Redis,作为一个高性能的键值(Key-Value)数据库,以其高效的读写能力和丰富的数据类型,广泛应用于缓存、消息队列等多个场景。它的数据类型包括字符串、列表、字典、集合和有序集合,这些...

    05-Redis 核心数据结构 & Redis 6 新特性详解-郭嘉.zip

    在本资料"05-Redis 核心数据结构 & Redis 6 新特性详解-郭嘉.zip"中,我们将深入探讨Redis的核心数据结构以及最新的Redis 6版本的新特性。 一、Redis核心数据结构 1. 字符串(String):Redis最基础的数据类型,可...

    redis 数据类型详解 以及 redis适用场景场合

    Redis是一种高性能的键值存储系统,提供了多种数据结构的支持,使得它在不同的应用场景下都能够表现出色。接下来,我们将详细介绍Redis中的主要数据类型及其应用场景。 #### String 字符串 - **简介**:字符串是...

    redis五大数据结构操作指令详细说明

    Redis 五大数据结构操作指令详细说明 Redis 是一个开源的、基于内存的数据结构存储系统,可以用作数据库、消息队列、缓存等。Redis 中有五种基本数据结构,分别是 String、List、Set、Hash 和 ZSet。每种数据结构...

    redis(简介、数据结构、常用命令).docx

    #### 四、Redis 数据结构详解 Redis 提供了五种基本的数据结构,分别是字符串(Strings)、列表(Lists)、集合(Sets)、有序集合(Sorted Sets)和哈希(Hashes)。 ##### 4.1 字符串(Strings) 字符串是最常用的数据类型...

    Redis新手入门详解

    #### 三、Redis数据类型详解 Redis支持多种数据类型,包括简单字符串(Strings)、列表(Lists)、集合(Sets)、有序集合(Sorted Sets)和哈希(Hashes)等。这些数据类型的特点及其应用场景将在接下来的部分详细介绍。 1....

    Redis内部数据结构详解(6)——skiplist1

    Redis中的跳跃列表(skiplist)是一种高效的数据结构,用于实现有序集合(sorted set)。它是一种概率性数据结构,通过随机概率控制层数,从而在平均情况下提供接近于对数时间复杂度的查找、插入和删除操作。skiplist...

    redis详解及数据结构类型

    #### 三、Redis数据结构类型 Redis支持五种主要的数据结构类型: 1. **String(字符串)** 2. **Hash(哈希)** 3. **List(列表)** 4. **Set(集合)** 5. **Sorted Set(有序集合)** 其中,本篇文章重点介绍*...

    Redis源码解析涵盖数据结构及特性实现

    使用场景及目标:本资源适用于想要理解Redis数据结构优化手段及其高级特性的技术人员。有助于更好地进行故障排除和优化Redis应用程序。 使用说明:阅读此内容是为了获得对Redis设计及其实现的理解,从而提高解决实际...

    Redis启动过程详解

    Redis是一款高性能的键值存储系统,它具有内存数据存储、网络通信及复杂的数据结构操作等功能。本文旨在深入解析Redis的启动过程,帮助读者更好地理解其内部机制。文章主要依据《Redis 设计与实现》一书中的相关内容...

    c++ 操作redis数据库

    4. 数据序列化:了解如何将C++的数据结构转换为Redis能识别的命令格式,以及如何解析Redis返回的数据。 5. 错误处理:编写健壮的代码,能够处理网络异常、命令执行失败等情况。 6. 测试驱动开发:编写测试用例,验证...

    redis底层数据模型与数据结构

    ### Redis 底层数据模型与数据结构解析 #### 一、`redisObject` 结构解析 Redis 中存储数据的基本单元是 `redisObject` 结构,它定义了 Redis 对象的各种属性,包括类型、编码方式、LRU/LFU 计算等。 **1.1 `...

    详解redis数据结构之压缩列表

    Redis 是一个高性能的键值数据库,它在内部使用多种数据结构来存储数据,其中压缩列表(ziplist)是Redis为了优化内存使用效率而设计的一种特殊数据结构,常用于存储小型数据,如列表键和哈希键。压缩列表适用于数据...

    Redis是一个高性能的键值对数据库,支持多种数据结构,如字符串、哈希、列表、集合、有序集合

    #### 二、Redis数据结构详解 ##### 1. 字符串(Strings) - **设置字符串**:`SET key value` - 设置键`key`的值为`value`。 - 示例:`redis-cli SET my_key "Hello, Redis!"` - 将字符串“Hello, Redis!”设置为...

    java 对Redis的导入和导出

    首先,要进行Redis数据的导入和导出,我们需要了解Redis的数据结构,包括字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)。这些数据类型在Java中都有对应的客户端库支持,如Jedis和...

    Lettuce-Redis高级客户端详解1

    5. **Redis Streams支持**:支持Redis的高级数据结构——Streams,用于处理复杂的数据流操作。 6. **异步主从连接**:支持异步连接到主从环境,提高数据读写效率。 7. **全局命令超时**:允许为所有异步和反应式命令...

Global site tag (gtag.js) - Google Analytics