Redis 常用命令和基本数据结构(数据类型)

413

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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:返回- -段角标范围内的所有元素
●BLPOPBRPOP: 与LPOPRPOP类似,只不过在没有元素时等待指定时间,而不是直接返回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范围内的元素
●ZDIFFZINTERZUNION:求差集、交集、并集

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

图形化界面中显示

在这里插入图片描述