前言

  前面学会了单机, 学会了集群, 但是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. Luogu3587[POI2015]POD - hash + 单调队列

    Solution 还是去看了题解. 感谢大佬的博客→  题解传送门 是一道思路比较新的题. 搞一个前缀和, 记录前 $i$ 个位置每种颜色的出现次数, 如果位置 $i$ 是 颜色 $a[i]$ 的最后 ...

  2. 简单了解下java中的堆、栈和方法区。

    堆.栈.方法区 1,首先了解下java中的数据类型. ①java中的八大基本数据类型:boolean, char , byte, short, int, long , float , double. ...

  3. 如何解决XMLHttpRequest cannot load file:~~~~~~~~~~~. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-res

    原因:Chrome不支持本地Ajax请求. 解决: 右击Chrome浏览器快捷方式,选择“属性”,在“目标”中加上"--allow-file-access-from-files", ...

  4. ScriptOJ-safeGet#99

    const safeGet = (data, path) => { if(!path) return undefined; const pathArr = path.split('.'); le ...

  5. Java ,python面向对象的继承及其区别

    JAVA JAVA继承基本样式 class Demo extends Object{ Demo(int a){ this(); } Demo(){ super(); } } java默认继承Objec ...

  6. git dev 分支merge到master

    code reviewer之后,需要把dev分支的代码merge到master分支.通过在azkaban的服务器上git pull,最终将代码上线. git dev 分支merge到master # ...

  7. C# 监听HTTP请求

    先把代码放在这里,下面再详细解说: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Oracle.DataAccess.Client; ...

  8. Mac通过type-c接口无法识别移动硬盘

      最近买了一块移动硬盘以及硬盘盒连接到Mac上来使用,最近发现了一个问题,就是当我使用完后将硬盘推出第二天再次连接上的时候硬盘不能被识别了,连硬盘和上的数据指示灯也不会亮,但是连接的鼠标键盘却没问题 ...

  9. Dynamic Programming | Set 1 (Overlapping Subproblems Property)

    动态规划是这样一种算法范式:将复杂问题划分为子问题来求解,并且将子问题的结果保存下来以避免重复计算.如果一个问题拥有以下两种性质,则建议使用动态规划来求解. 1 重叠子问题(Overlapping S ...

  10. 利用ArcGIS-Server瓦片制作离线地图包(*.tpk)_详细流程

    1.写在前面 本人是综合了好几个资料才最终制作成功,在这个过程中发现网上好多博客写的步骤不是很详细,因此就把自己的详细制作步骤全部分享出来,可以供需要的小伙伴参考. (1)本文档不讨论tpk文件的详细 ...