zoukankan      html  css  js  c++  java
  • Redis 数据类型总结—String

    1.1 数据类型

    Redis常用五种数据类型:string,   hash,   list,   set,    zset(sorted set). 

     

     

    Redis内部使用一个redisObject对象来表示所有的key和value, redisObject最主要的信息如上图所示

    type代表 一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表value存储的 是一个普通字符串,那么对应的encoding可以是raw或者是int,如果是int则代表实际redis内部是按数值型类存储和表示这个字符串的,当 然前提是这个字符串本身可以用数值表示,比如:"123" "456"这样的字符串。

    打开redis源码 scr/sds.h 查看String类型的结构  (注;以下都是redis-3.0的源码)

     

    Type 为对应的5中数据类型,已经定义好了

     

    1.1.1    String类型

    1. 1.  String数据类型

    String是最简单的类型,一个key对应一个value,String类型的数据最大1G。String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby、decr、decrby),这种情况下,该integer的值限制在64位有符号数。在list、set和zset中包含的独立的元素类型都是Redis String类型。

        

    1. 2.  String数据结构

    打开redis源码 scr/sds.h 查看String类型的结构

     

    len: 标记char[]的长度, 有点类似我们C#中List的length一个意思。

    free: 标记char[]中未使用的元素个数,就是有几个空坑的意思。

    buf[]:存放元素的坑,不一定和元素的实际个数相等,比如前面说的cnblogs。也有可能是[c][n][b][l][o][g][s][/0][][][]。

    1. 3.  String数据类型常用命令

    Resids相关命令都可以参考网站信息http://doc.redisfans.com/

       

  • 相关阅读:
    Web测试和App测试重点总结(转)
    bug等级和标准(转)
    App测试准入准出标准(转)
    开发人员应该怎么做,保证app在开发完毕后达到可提测的基本要求(转)
    1、Web网站常规测试点总结
    文件操作和函数
    python 数据类型
    Python-函数的各种器
    Python-函数的初始
    Python-文件操作
  • 原文地址:https://www.cnblogs.com/liuyongcn/p/5338815.html
Copyright © 2011-2022 走看看