美文网首页
Redis中SDS与RedisObject

Redis中SDS与RedisObject

作者: Vic_is_new_Here | 来源:发表于2019-06-08 14:57 被阅读0次

上一篇Redis原理中,未能很好地阐述SDS与RedisObject的关系,在这里将其补充一下。

首先说明一点,Redis中有一个对象系统,它是基于我们前面讲过的SDS,未讲过的双端链表,字典,压缩列表,整数集合等等数据结构来构建的。

我们知道Redis的底层数据结构是优于C字符的简单动态字符串(Simple Dynamic String),比如说,我执行下面命令:

这时候就创建了两个对象,一个是键对象,一个是值对象,键对象的底层实现是一个保存了"name"的SDS,值对象的底层实现是一个保存了"Mickle"的SDS。那么再说具体一点的话,这两个对象又是怎样的呢?下面我就用一张图片来解释:

对于 Redis 数据库保存的键值对来说, 键总是一个字符串对象, 而值则可以是字符串对象、列表对象、哈希对象、集合对象或者有序集合对象的其中一种, 因此:

    当我们称呼一个数据库键为“字符串键”时, 我们指的是“这个数据库键所对应的值为字符串对象”;

    当我们称呼一个键为“列表键”时, 我们指的是“这个数据库键所对应的值为列表对象”,

    诸如此类。

TYPE 命令的实现方式也与此类似, 当我们对一个数据库键执行 TYPE 命令时, 命令返回的结果为数据库键对应的值对象的类型, 而不是键对象的类型

                                                                                                                                            2019-06-08

相关文章

  • Redis中SDS与RedisObject

    上一篇Redis原理中,未能很好地阐述SDS与RedisObject的关系,在这里将其补充一下。 首先说明一点,R...

  • Redis

    概述: 1、内部数据结构:sds、字典、redisObject 2、Redis数据类型 3、内部运行机制:数据库结...

  • 基本数据类型

    redisObject redis中用redisObject包装数据类型,其中 type:表示redis对外支持的...

  • Redis 存储对象信息是用 Hash 还是 String

    Redis 内部使用一个 RedisObject 对象来表示所有的 key 和 value,RedisObject...

  • Redis redisObject

    简介 redisObjet其实就是对应用类型的封装。简介面向对象的思想。实现对数据的统一管理保存 数据结构 这一块...

  • redis zset内部实现

    Redis对象Redis对象由redisObject结构体表示。 Redis中的每个键值对的键和值都是一个redi...

  • Redis内存优化

    一.redisObject对象 Redis存储的所有值对象在内部定义为redisObject结构体,内部结构如下图...

  • Redis-数据结构-RedisObject、字典

    一、对象 redisObject 1、定义与结构 redis使用对象来表示数据库中的键和值,对象包含字符串(str...

  • redis底层数据结构

    一、redis中数据对象 redis有五大数据类型, 通过统一对象redisObject存储, redisObje...

  • Redis对象类型与数据结构

    1. 对象类型与编码 Redis的对象由redisObject结构表示: type属性表示对象的类型: encod...

网友评论

      本文标题:Redis中SDS与RedisObject

      本文链接:https://www.haomeiwen.com/subject/kbrixctx.html