Redis 常用命令和基本数据结构(数据类型)
Redis 通用命令
Redis数据类型
Key的层级格式
例如:如果用户id是1,商品id也是1 如何区分不同类型的redis
存放第一个json
set test:user:1 '{"id":1,"name":"javck"}'
在图形界面中可以看到我们存放的层级结构
String类型
Hash类型
Hash类型的常用命令
Hash的常见命令有:
●HSET key field value:添加或者修改hash类型key的field的值
●HGET key field:获取- -个hash类型key的field的值
●HMSET: 批量添加多个hash类型key的field的值
●HMGET: 批量获取多个hash类型key的field的值
●HGETALL: 获取- -个hash类型的key中的所有的field和value
●HKEYS:获取-个hash类型的key中的所有的field
●HVALS: 获取- -个hash类型的key中的所有的value
●HINCRBY:让- -个hash类型key的字段值自增并指定步长
●HSETNX: 添加一-个hash类型的key的field值,前提是这个field不存在,否则不执行
添加一条数据
HSET heima:user:3 name lucy
访问数据
HGET heima:user:3 name
在图形界面中的结构
获取当前字段的全部值
GETALL heiw:users:1
List类型
List的常见命令有:
●LPUSH key element... :向列表左侧插入一个或多个元素
●LPOP key:移除并返回列表左侧的第一个元素 ,没有则返回nil
●RPUSH key element... :向列表右侧插入-一个或多个元素
●RPOP key:移除并返回列表右侧的第一个元素”
●LRANGE key star end:返回- -段角标范围内的所有元素
●BLPOP和BRPOP: 与LPOP和RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil
左侧插入三个元素
LPUSH users 1 2 3
他在图形界面中的循序
右侧插入三个元素
RPUSH users 4 5 6
在图形界面中跑到了右侧
左右取一个元素
LPOP users 1 //左边取一个元素
RPOP users 1 //右边取一个元素
获取角标范围内的元素
LRANGE users 1 2 //取角标 1 - 2 的元素
BLPOP在没有元素的时候等待指定时间
BLPOP users 100
user2 没有元素所以开始等待 如果没有就返回null
Set类型
Set类型的常用命令
●SADD key member ... :向set中添加一-个或多个元素
●SREM key member ... :移除set中的指定元素
●SCARD key:返回set中元素的个数
●SISMEMBER key mer向ber:判断一个元素是否存在于set中
●SMEMBERS: 获取set中的所有元素
多个集合之间的操作 并集 交集
●SMEMBERS: 获取set中的所有元素
●SINTER key1 key2 ... :求key1与key2的交集
●SDIFF key1 key2 ... :求key1与key2的差集
●SUNION key1 key2 ..求key1和key2的并集
Set的小练习
sadd zs lisi wangwu zhaoliu //添加集合
sadd ls wangwu mazi ergou
scard zs // 1题
SINTER zs ls //2题 交集
SDIFF zs ls //3题 差集
SUNION zs ls //4题 并集
SISMEMBER zs ls //5题 判断是否存在
SISMEMBER ls zs //6题 判断是否存在
srem zs lisi //7题 移除元素
SortedSet类型 可排序的集合
常用命令有
SortedSet的常见命令有:
●ZADD key score member: 添加一一个或多个元素到sorted set,如果已经存在则更新其score值
●ZREM key member:删除sorted set中的一-个指定元素
●ZSCORE key member :获取sorted set中的指定元素的score值
●ZRANK key member:获取sorted set中的指定元素的排名
●ZCARD key: 获取sorted set中的元素个数
●ZCOUNT key min max:统计score值在给定范围内的所有元素的个数
●ZINCRBY key increment member:让sorted set中的指定元素自增,步长为指定的increment值
●ZRANGE key min max:按照score排序后,获取指定排名范围内的元素
●ZRANGEBYSCORE key min max:按照score排序后,获取指定score范围内的元素
●ZDIFF、 ZINTER、 ZUNION:求差集、交集、并集
SortedSet练习
// 添加学生成绩
ZADD stus 85 jack 89 lucy 52 rose 12 tom 63 jerry 92 amy 62 miles
//删除tom
zrem stus tom
//查出rose的排名 查出来的序号是从0开始 rose是1 也就是第二
ZRANK stus rose
//降序查询rose的排名
zrevrank stus rose
//查看有多少人
zcard stus
//查看八十分以下的学生
zcount stus 0 80
//给amy加两分
ZINCRBY stus 2 amy
//查询成绩后三名
zrange stus 0 2
//查询成绩前三名 先排序后倒序
ZREVRANGE stus 0 2
//查询成绩80分以下的具体同学信息
ZRANGEBYSCORE stus 0 80
图形化界面中显示
转载自:https://juejin.cn/post/7135277753363857422