typedef struct redisObject {
    unsigned type:4;
    unsigned encoding:4;
    unsigned lru:REDIS_LRU_BITS; /* lru time (relative to server.lruclock) */
    int refcount;
    void *ptr;
} robj;

unsigned type:4; 是C语言的位域

redis有5种类型的值对象:字符串,列表,哈希,集合,有序集合。
redisObject表征一种值对象,含有type,encoding,ptr等属性:
type:5种值对象之一;
encoding:值对象所使用的数据结构,
ptr:指向数据的指针

例子:
set hi 1
hi所对应的值对象:其类型是字符串,而编码是int。

redisObject的更多相关文章

  1. Redis源代码分析(二十八)--- object创建和释放redisObject物

    今天的学习更有效率.该Rio分析过,学习之间的另一种方式RedisObject文件,只想说RedisObject有些生成和转换.都是很类似的.列出里面长长的API列表: /* ------------ ...

  2. redis源码解析(1):redisObject对象说明

    Redis在实现键值对数据库时,并没有直接使用数据结构,而是基于已有的数据结构创建了一个对象系统,每种对象至少包含一种数据结构. redis3.0 中对象结构: typedef struct redi ...

  3. Redis源代码剖析和凝视(八)--- 对象系统(redisObject)

    Redis 对象系统 1. 介绍 redis中基于双端链表.简单动态字符串(sds).字典.跳跃表.整数集合.压缩列表.高速列表等等数据结构实现了一个对象系统,而且实现了5种不同的对象,每种对象都使用 ...

  4. redis数据结构分析 (redisObject、SDS)

    redis是一个key-value储存系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  5. Redis 学习笔记(篇五):对象(RedisObject)

    Redis-对象 在以前的文章中,我们介绍了 Redis 用到的主要数据结构,比如简单动态字符串.双端链表.字典.压缩列表.整数集合. 然而 Redis 并没有直接使用这些数据结构来实现键值对的数据库 ...

  6. Redis系列(三):redisServer、redisDb、redisObject、sds四大结构体理解

    一.源码下载: Windows中的Redis源码下载:https://github.com/microsoftarchive/redis/tree/3.2 根据官网说明可知,用VS2013编译,但是必 ...

  7. Redis初识

    安装与使用 Redis-x64-3.2.100:服务端 + 客户端 redis-3.2.5:源代码 Redis Desktop Manager - v0.8.8:客户端(基于Qt5的跨平台Redis桌 ...

  8. redis数据类型及使用场景

    Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mge ...

  9. Redis数据类型,以及应用场合

    Redis常用的数据类型为String,Hash,List,Set等,简介如下: String 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供 ...

随机推荐

  1. 原创:R包制作--windows

    1.下载安装Rtools,添加环境变量: 打开R,分别输入下面指令,看有无包错: system('g++ -v') system('where make') 2.package.skeleton()函 ...

  2. JavaScript的sort方法

    说明 array.sort()用于对数组进行排序,返回数组,方法默认是“升序”排序,原数组会发生改变 简单点:比较函数两个参数a和b,返回a-b升序,返回b-a升序 普通数组(降序) var arr ...

  3. _event_active_team

    EventId 事件ID GUID 对应creature或gameobject表中 guid,正数为生物,负数为物体 TeamId 事件玩家分组,攻守(防守为1,进攻为2),自定义阵营(_factio ...

  4. Oracle 11G Client客户端安装

    参考资料: http://www.cnblogs.com/jiguixin/archive/2011/09/09/2172672.html http://blog.csdn.net/lanchengx ...

  5. Intellij idea注册码失效

    从网上下载idea需要输入激活码,晚上用的激活码大多是同一个,但是上次使用的时候突然弹窗告诉我注册码失效了,在网上找到一个新的方法 在注册界面有几个选项,我们常用的是Activation Code,现 ...

  6. 如何在python中调用C语言代码

    1.使用C扩展CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码 开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/ ...

  7. [原][spark]帧序列的纹理UV索引,修改spark源码,改变纹理索引方式,支持常规帧序列

    spark的纹理索引方式是左下为最小值0 右上为最大值k ,遍历顺序为横向即: 3 4 5 0 1 2 而常规的纹理帧序列是这样的: 0 1 2 3 4 5 所以,为了让spark的纹理遍历顺序能按照 ...

  8. Codeforces 985 D - Sand Fortress

    D - Sand Fortress 思路: 二分 有以下两种构造, 分别二分取个最小. 代码: #include<bits/stdc++.h> using namespace std; # ...

  9. 利用jenkins+git自动执行接口测试代码

    事前准备 部署好jenkins.申请一个码云账号.代码同步至码云 1.在码云上新建一个项目,并把代码同步上去 我设置成了私有项目 2.为项目添加部署公钥 因为是私有项目,所以需要添加一个部署公钥,不然 ...

  10. 使用spss做方差分析

    还记得上学那会老师专门敲了黑板,强调方差分析很重要..单因素方差分析(Analysis of Variance, ANOVA),如果变量多,就是多因素方差分析,还需要考虑到多重共线性, 也就是线性代数 ...