redis 五种数据类型
前言
前面学会了单机, 学会了集群, 但是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 五种数据类型的更多相关文章
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis五种数据类型的使用
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis五种数据类型的使用场景
string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- Redis五种数据类型-设置key的过期时间
1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...
- (转) 淘淘商城系列——Redis五种数据类型介绍
http://blog.csdn.net/yerenyuan_pku/article/details/72855562 Redis支持五种数据类型:string(字符串),hash(哈希),list( ...
- 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的五种数据类 ...
- redis五种数据类型的应用
redis的五种数据类型和使用场景 string类型 string类型多用于缓存 set key value(value可以为json字符串) setnx多用于分布式锁(后面详细整理) 计数器 inc ...
- 《闲扯Redis三》Redis五种数据类型之List型
一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...
- 《闲扯Redis六》Redis五种数据类型之Hash型
一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...
随机推荐
- Python开发——数据类型【字符串格式化】
字符串格式化之——% # 字符串格式化 msg = 'I am %s , My hobby is %s'%('yuan','play') print(msg) # I am yuan , My hob ...
- Linux mail 查看
Linux 下查看mail的命令参数: 一般系统收到邮件都会保存在“/var/spool/mail/[linux username]"文件中,在Linux中输入mail,就进入了收件箱,并显 ...
- js--获得当前系统时间
window.onload = function () { var oBody = document.body; setInterval( fnTime, 1000 ); fnTime (); fun ...
- CentOS6.9安装Python-3.6.3
CentOS6.9上默认安装的python版本是2.6的.因为系统自带的python会被系统很多软件环境依赖使用,所以不要卸载原来的Python版本,根据需要进行安装新版本即可,本人此处安装的是3.6 ...
- BeanUtil拷贝
拷贝vo对象 一些查询到的数据很多是不需要的,可以创建vo对象,对需要的对象属性进行拷贝 maven依赖 <dependency> <groupId>org.projectlo ...
- ABP框架系列之十一:(AspNet-Core-ASPNET核心)
Introduction This document describes ASP.NET Core integration for ASP.NET Boilerplate framework. ASP ...
- vue子传父多个值
子组件:this.$emit("methdosName",data1,data2,data3) 父组件: <child @methodsName="xxx(argu ...
- vim折叠设置(转载)
vim折叠设置(转载) set foldmethod=indent "set default foldmethod"zi 打开关闭折叠"zv 查看此行zm 关闭折叠zM ...
- poj3281构图题
题目大意:有F种食物,D种饮料N头奶牛,只能吃某种食物和饮料(而且只能吃特定的一份)一种食物被一头牛吃了之后,其余牛就不能吃了第一行有N,F,D三个整数接着2-N+1行代表第i头牛,前面两个整数是Fi ...
- three.js 微信小游戏
最近在 https://classroom.udacity.com/courses/cs291 学习了一些 3D 引擎和 three.js 的知识 把 three.js 弄到微信小游戏里,先随便跑一跑 ...