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
  • 相关阅读:
    iOS基础
    iOS基础 ----- 内存管理
    NSAttributedString 的一些基本用法
    node安装使用
    docker常用命令
    docker lnmp
    easy-wechat
    composer
    center7系统搭建lnmp
    xammp环境配置
  • 原文地址:https://www.cnblogs.com/june777/p/11911001.html
Copyright © 2011-2022 走看看