前言

  前面学会了单机, 学会了集群, 但是redis咋用啊? 或者说, redis支持哪些数据类型呢?

  常用的有五种: String , Hash, List, Set, zset(SortedSet)

一、String

  String 类型, 在前面也是使用过的. 直接来看一下

  

  可以使用del name来删除缓存

二、List

push指令:   

  push分两个, 一个从左边push, 一个从右边push. 但是这个左右, 是对准备push的值而言的. 而不是针对将要push的数组来说的.

  

pop指令

  pop同样的, 也有两个. 这次是针对list来说的了

  

三、Hash

  hash与前面的都不同, 这里是 key - field - value

  相当于是, key是一个大类, 对应了一个 map, field就相当于是map的key, value相当于是map的value

  

  hset进行赋值, hget用来获取值.

    hset name 1 elvin 这么看, 是不是有点像往表里面查数据的感觉, 只不过我的field用的是数值字符串

hash 有一个很好的用途:

  比如, 我对一张表 t_usr 进行操作, 有一个新增方法, 可以返回一个id, 那么我是否可以将数据进行缓存起来, hset t_usr id 值

  

  那, 查询的时候, 可以先进行缓存的查询, 如果查询不到, 或者查询出来是空, 再去数据库中查询一次, hget t_usr id.

  用这样的方式, 是不是可以对那些访问量比较大的地方, 进行加速访问.

那既然使用到了缓存, 就牵涉到一个缓存同步的问题了. 怎么解决呢?

  一个很简单的方式. 在调用删除方法的时候, 可以 hdel t_usr id, 这样, 在下一次查询的时候, 是不是就会去查数据库, 并将查询的结果进行缓存, 就在删除数据的时候, 实现了数据同步.

  同样的, 在修改的时候, 也可以做到数据同步, 不过这次有的选了, 可以选择删除缓存数据, 也可以选择更新缓存数据.

四、Set

  set集合中的元素, 是不能重复的, 而且是无顺序的.

  

  这里我将5,1重复写入, 但是很明显, 只保留了一份, List 则不会出现这种情况.

五、zset(SortedSet)

  zset 与 set 稍有不同, 不是说可以重复, 而是他是有顺序的. 而且这个顺序是我们自己来设定的.

zadd新增指令:

  

  从上图看, 最后的顺序, 是根据我们指定的分值来排序的.

zrem 删除指令:

  

 

更详细的指令可见:

   Redis常见的5种不同的数据类型详解

redis 五种数据类型的更多相关文章

  1. redis五种数据类型的使用(zz)

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  2. redis五种数据类型的使用

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  3. redis五种数据类型的使用场景

    string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...

  4. Redis五种数据类型-设置key的过期时间

    1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...

  5. (转) 淘淘商城系列——Redis五种数据类型介绍

    http://blog.csdn.net/yerenyuan_pku/article/details/72855562 Redis支持五种数据类型:string(字符串),hash(哈希),list( ...

  6. Redis五种数据类型应用场景

    目录 1.1 回顾 2.1 应用场景 2.1.1 String 2.1.2 Hash 2.1.3 List 2.1.4 Zet 2.1.5 zset 3.1 小结 1.1 回顾 Redis的五种数据类 ...

  7. redis五种数据类型的应用

    redis的五种数据类型和使用场景 string类型 string类型多用于缓存 set key value(value可以为json字符串) setnx多用于分布式锁(后面详细整理) 计数器 inc ...

  8. 《闲扯Redis三》Redis五种数据类型之List型

    一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...

  9. 《闲扯Redis六》Redis五种数据类型之Hash型

    一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...

随机推荐

  1. [费用流][NOI2008]志愿者招募

    志愿者招募 题目描述 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完 ...

  2. playframework 一步一步来 之 日志 (二)

    带着之前的疑问,我们先回顾一下日志相关的知识: 首先是SL4J,SL4J是个什么东西来着?官方解释为:“The Simple Logging Facade for Java (SLF4J) serve ...

  3. ES6最新语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  4. Linux 下查看我们的不速之客

    我们通过下面这个命令,可以查看 VPS 上还有谁在登陆: w 输出类似下列信息: 23:20:00 up 960 days, 4:29, 2 user, load average: 0.05, 0.0 ...

  5. Python设计模式运用

    1 面向对象 2 创建型模式 3 结构型模式 4 行为型模式

  6. vue-学习系列之vue双向绑定原理

    一.访问器属性 访问器属性是对象中的一种特殊属性,它不能直接在对象中设置,而必须通过 defineProperty() 方法单独定义. var obj = { }; // 为obj定义一个名为 hel ...

  7. Android逆向之smali

    Android逆向之smali 头信息 smail文件前三行 .class <访问权限> [关键修饰字] <类名>; .super <父类名>; .source & ...

  8. vs.code调试node.js的C++扩展

    其实也很简单 点击“Add Configration..”后,会在launch.json增加一个节点,稍调整两个位置 以上完了后,就能在cpp源码里加上自己的断点,执行debug调试我们的C++源代码 ...

  9. 2.第一个ASP.NET MVC 5.0应用程序

    大家好,上一篇对ASP.NET MVC 有了一个基本的认识之后,这一篇,我们来看下怎么从头到尾创建一个ASP.NET MVC 应用程序吧.[PS:返回上一篇文章:1.开始学习ASP.NET MVC] ...

  10. [转]语音识别中区分性训练(Discriminative Training)和最大似然估计(ML)的区别

    转:http://blog.sina.com.cn/s/blog_66f725ba0101bw8i.html 关于语音识别的声学模型训练方法已经是比较成熟的方法,一般企业或者研究机构会采用HTK工具包 ...