一、Redis命令
1.1 通用指令
1.1.1 正则表达式
1.1.2 基本命令
1.1.2.1 key
![image-20201028165906797](https://i-blog.csdnimg.cn/blog_migrate/6640a411d2a3dea75212ccbecbc8c7f6.png)
上面的命令key重名会直接覆盖(key对应数据覆盖newkey对应的表数据),下面的命令(nx=not exists)查询不到key才会修改
1.1.2.2 数据库
1.2 String
![image-20201028170209123](https://i-blog.csdnimg.cn/blog_migrate/6da0a8c8a54d1ceba9e58451c4570cc5.png)
添加后返回键对应字符串全部长度
整数加完小数就不能加整数了,只能指定具体的小数来加
不能减小数,只能加小数
![image-20201028180805734](https://i-blog.csdnimg.cn/blog_migrate/0b7c96422e9df7a354da9dd664411ee1.png)
1.2.1 用字符存储对象
![image-20201028170242936](https://i-blog.csdnimg.cn/blog_migrate/02537941ef6bd3bf2d6a81179e7919f1.png)
1.3 hash
Map<String key,Object Value> Map<String key, Map<String key,Object Value>>
存储结构:一个存储空间保存多个键值对数据
hash类型:底层使用哈希表结构实现数据存储
修改成功返回值为0
取所有key是value里的所有field
1.3.2 删除数据
删除hash里面的filed,对应的一个字段也删除了
1.3.3 多个操作
1.3.4 判断存在
有没有字段
hexists key 字段
1.4 List—Java-LinkedList
需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
list类型:保存多个数据,底层使用双向链表存储结构实现
双向链表,左右进出,左右取值
只有lrange,和rpush配合使用
1.5 set
只有hash的field
能够保存大量的数据,高效的内部存储机制,便于查询
set类型:与hash存储结构完全相同,仅存储键,不存储值(nil ),并且值是不允许重复的
![image-20201028171521540](https://i-blog.csdnimg.cn/blog_migrate/5f74eb0d1d56636d04c6a477ac50905d.png)
diffstore中间没有目标的话,前面的key会被后面的直接完全覆盖
![image-20201028190558065](https://i-blog.csdnimg.cn/blog_migrate/6fdcd09973c097588b7f4d552a8ec982.png)
1.6 sorted_set(ZSet)类型—Java-TreeSet
在Set的基础上添加了排序字段
数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式
可以保存可排序的数据
sorted_set类型:在set的存储结构基础上添加可排序字段
![image-20201028171815473](https://i-blog.csdnimg.cn/blog_migrate/c4891ce465354f9db3aef329fbe0e04d.png)
按索引条件(start,stop)选择数据,取前不取后;
按score条件(min,max)选择数据,取前也取后。