zoukankan      html  css  js  c++  java
  • Redis 高级数据结构:二、简介

    简介##

    redisobject###

    redis中的键、值都是一个对象,redisObject

    typedef struct redisObject{
        unsigned type:4;
        unsigned encoding:4;
        void *ptr;
        ...
    }
    

    1.具体的数据结构保存在ptr中

    2.具体的类型保存在type中,取值如下

    类型常量 对象的名称 TYPE命令输出
    REDIS_STRING 字符串对象 string
    REDIS_LIST 列表对象 list
    REDIS_HASH 哈希对象 hash
    REDIS_SET 集合对象 set
    REDIS_ZSET 有序集合对象 zset

    3.具体的数据结构类型保存在encoding中,和 type关联如下

    类型常量(type) 编码常量(encoding) 底层结构 Object命令的输出
    REDIS_STRING REDIS_ENCODING_INT 使用整数值实现的字符串 int
    REDIS_STRING REDIS_ENCODING_EMBSTR 使用embstr编码的sds 实现的字符串 embstr
    REDIS_STRING REDIS_ENCODING_RAW 使用sds实现的字符串 raw
    REDIS_LIST REDIS_ENCODING_ZIPLIST 使用压缩列表实现的列表对象 ziplist
    REDIS_LIST REDIS_ENCODING_LINKEDLIST 使用双端链表实现的列表对象 linkedlist
    REDIS_HASH REDIS_ENCODING_ZIPLIST 使用压缩列表实现的哈希对象 ziplist
    REDIS_HASH REDIS_ENCODING_HT 使用字典实现的哈希对象 hashtable
    REDIS_SET REDIS_ENCODING_INTSET 使用整数集合实现的集合对象 intset
    REDIS_SET REDIS_ENCODING_HT 使用字典实现的集合对象 hashtable
    REDIS_ZSET REDIS_ENCODING_ZIPLIST 使用压缩列表实现的有序集合对象 ziplist
    REDIS_ZSET REDIS_ENCODING_SKIPTLIST 使用跳跃表和字典实现的有序集合对象 skiplist
  • 相关阅读:
    python3(二十七)property
    python3(二十六)slots
    python3(二十五) getClassInfo
    python3(二十四) subClas
    python3(二十三)classInstance
    python3(二十二) oop
    python3(二十一) pip
    python3(二十) module
    python3(十九)Partial func
    python3(十八)decorator
  • 原文地址:https://www.cnblogs.com/june777/p/11911001.html
Copyright © 2011-2022 走看看