基本数据类型
reids的五种基本数据类型:String,set,hash,list,sortedset
redis的基本命令
使用help +名称查看帮助文档
Redis 命令参考 — Redis 命令参考 (redisfans.com)
String类型
最大存储为512MB
常用命令为:
SETEX和set然后最后加一个ex的效果是一样的
SETNX和set设置然后加上nx的效果是一样的
三种格式
整型,字符串,浮点型
key的层级格式
redis的key允许有多个单词形成层级结构,多个单词使用:分隔开格式为
项目名:业务名:类型:id
格式不是固定的可以自行设定
127.0.0.1:6379> set name:name1:1 zhangsan
127.0.0.1:6379> set duo:ge:shuju '{"id":2,"name":"zhangsan","price":9999}'
key的格式:
相当于新建了几个文件夹然后存储键值对。
Hash类型
相当于在一个文件中存储多个键值对
也叫散列,其value是一个无序字典,类似于java中的hashmap
hash结构可以将对象中的每个字段独立存储,也可以针对单个做crud
list类型
List类型相当于java中的linklist集合
如果语句是Lpush user 1 2 3那么最后存储的时候,3在第一位,因为存储的时候相当于从左边插入。
pop在取出的同时,还会将数据移除
set类型
redis的set结构与java中的hashset类似,可以看作是一个value为null的hashmap,所以也是
*无序
*元素不可重复
*查找快
*支持交集,并集,差集等功能
单个集合的操作
多个集合的操作
127.0.0.1:6379> sadd zhangsan lisi wangwu zhaoliu
(integer) 3
127.0.0.1:6379> sadd lisi wangwu mazi ergou
(integer) 3
127.0.0.1:6379> scard zhangsan
(integer) 3
127.0.0.1:6379> sinter zhangsan lisi
1) "wangwu"
127.0.0.1:6379> sdiff zhangsan lisi
1) "lisi"
2) "zhaoliu"
127.0.0.1:6379> sunion zhangsan lisi
1) "lisi"
2) "wangwu"
3) "zhaoliu"
4) "ergou"
5) "mazi"
127.0.0.1:6379> srem zhangsan lisi
(integer) 1
127.0.0.1:6379> srem lisi zhangsan
(integer) 0
127.0.0.1:6379> srem zhangsan lisi
(integer) 0
127.0.0.1:6379> smembers zhangsan
1) "wangwu"
2) "zhaoliu"
sortedset类型
Redis 的 SortedSet 是一个可排序的 set 集合 ,与 Java 中的 TreeSet 有些类似 ,但底层数据结构却差别很大 。SortedSet 中的每个元素都带有一个 score 属性 ,可以基于 score 属性对元素排序 ,底层的实现是一个跳表 (SkipList) 加 hash 表 。
SortedSet 具备下列特性 : . 可排序 . 元素不重复 . 查询速度快
因为 SortedSet 的可排序特性 , 经常被用来实现排行榜这样的功能 。