快速掌握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 删除指令:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180425A1PWFQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券