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/

Redis 数据类型总结—String的更多相关文章

  1. redis数据类型:String

    redis数据类型:String 花开堪折直需折,莫待无花空折枝 实际应用中有多种多样的场景,比如: 秒杀 新闻热点 在线人数 session.token管理 各个场景需要的数据类型各不相同:常见的数 ...

  2. 带你掌握Redis数据类型:string和Hash

    摘要:Redis中有五大数据类型,分别是String.List.Set.Hash和Zset. 本文分享自华为云社区<Redis的string类型常用命令解析>,作者:灰小猿 . 先问大家一 ...

  3. redis 数据类型为string命令整理以及示例

    #设置值 SET key value [EX seconds] [PX milliseconds] [NX|XX] SET命令加上选项已经可以完全取代SETNX, SETEX, PSETEX的功能,所 ...

  4. redis数据类型之—String

    (1)String 简单介绍 string是redis中最基本的数据类型,一个字符串类型的值存储的最大容量是1GB. (2)String 常用命令

  5. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  6. redis安装及数据类型简介(string、list、set、sorted_set、hash)

    一:简介: redis国内最大的案例--->新浪微博 memcache:是key-value数据库 数据类型:只支持key value数据 过期策略:支持 持久化:不支持(可以通过三方程序) 主 ...

  7. Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

    3. redis数据类型[重点] redis 使用的是键值对保存数据.(map) key:全部都是字符串 value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率 Key名不要 ...

  8. 缓存数据库-redis数据类型和操作(string)

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合) 一:String(字符串) string是redis ...

  9. Redis学习(4)-数据类型,string,hash

    Redis数据类型: redis使用键值对保存数据 key:全部是字符串 value:五种数据类型:string,hash,List,Set,有序的Set集合. key命名:自定义,名字不要过长,否则 ...

随机推荐

  1. CSS3实现加载中效果

    代码: <!doctype html> <html> <head> <meta charset="utf-8" /> <tit ...

  2. [NHibernate]延迟加载

    目录 写在前面 文档与系列文章 延迟加载 一个例子 总结 写在前面 上篇文章介绍了多对多关系的关联查询的sql,HQL,Criteria查询的三种方式.本篇文章将介绍nhibernate中的延迟加载方 ...

  3. Linux命令--删除软连接

    1,建立软链接 ln -s 源文件 目标文件 例如:ln -s /usr/hb/ /home/hb_link 2,删除软链接 正确的是:rm -rf hb_link 错误的是:rm -rf hb_li ...

  4. R语言学习笔记-机器学习1-3章

    在折腾完爬虫还有一些感兴趣的内容后,我最近在看用R语言进行简单机器学习的知识,主要参考了<机器学习-实用案例解析>这本书. 这本书是目前市面少有的,纯粹以R语言为基础讲解的机器学习知识,书 ...

  5. uboot学习第一天

    Windows操作系统BIOS(设置) Windows系统 文件系统 驱动程序 应用程序 linux操作系统bootloader(引导系统) kernel(内核) 文件系统 驱动程序 应用程序 交叉编 ...

  6. [Python] 目录和文件操作

    在Linux系统下用Python写脚本,肯定不能避免各种与目录和文件夹有关的操作.为了以后方便查阅,简单地针对Python中与目录和文件夹有关的操作进行汇总. 需要实现导入的模块为: import o ...

  7. linux安装php & nginx

    1.安装libxml2 地址:http://ftp.gnome.org/pub/GNOME/sources/libxml2/ wget http://caesar.acc.umu.se/pub/GNO ...

  8. nginx自动检测后台服务器健康状态

    转自http://www.iyunv.com/thread-38535-1-1.html 公司业务线上对后端节点的健康检查是通过nginx_upstream_check_module模块做的,这里我将 ...

  9. java程序打包成jar

    1. 建立文件夹:proj,在该文件夹下建立3个子文件夹:lib,src 2. 在lib文件夹中放置依赖的jar包 3. 在src中放置类文件:com.cnjava.demo.Main.java 4. ...

  10. getRealPath("/")弃用

    用request.getSession().getServletContext().getRealPath("/");替换getRealPath("/"):