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


    Redis 通用命令

    在这里插入图片描述

    Redis数据类型

    Key的层级格式

    在这里插入图片描述

    例如:如果用户id是1,商品id也是1 如何区分不同类型的redis

    在这里插入图片描述

    存放第一个json

     set test:user:1 '{"id":1,"name":"javck"}'
    
    
    • 1
    • 2

    在图形界面中可以看到我们存放的层级结构

    在这里插入图片描述

    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不存在,否则不执行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    添加一条数据

    HSET heima:user:3 name lucy
    
    • 1

    访问数据

    HGET heima:user:3 name
    
    • 1

    在这里插入图片描述

    在图形界面中的结构

    在这里插入图片描述

    获取当前字段的全部值

    GETALL heiw:users:1
    
    
    • 1
    • 2

    在这里插入图片描述

    List类型

    在这里插入图片描述

    List的常见命令有:LPUSH key element... :向列表左侧插入一个或多个元素
    ●LPOP key:移除并返回列表左侧的第一个元素 ,没有则返回nil
    ●RPUSH key element... :向列表右侧插入-一个或多个元素
    ●RPOP key:移除并返回列表右侧的第一个元素”
    ●LRANGE key star end:返回- -段角标范围内的所有元素
    ●BLPOPBRPOP:LPOPRPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    左侧插入三个元素

    LPUSH users 1 2 3
    
    • 1

    他在图形界面中的循序
    在这里插入图片描述

    右侧插入三个元素

    RPUSH users 4 5 6
    
    
    • 1
    • 2

    在图形界面中跑到了右侧
    在这里插入图片描述

    左右取一个元素

     LPOP users  1 //左边取一个元素
     RPOP users  1 //右边取一个元素
    
    • 1
    • 2

    在这里插入图片描述

    获取角标范围内的元素

    LRANGE users 1 2 //取角标 1 - 2 的元素
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    BLPOP在没有元素的时候等待指定时间

    BLPOP users 100
    
    
    • 1
    • 2

    在这里插入图片描述

    user2 没有元素所以开始等待 如果没有就返回null

    Set类型

    在这里插入图片描述

    Set类型的常用命令

    SADD key member ... :set中添加一-个或多个元素
    ●SREM key member ... :移除set中的指定元素
    ●SCARD key:返回set中元素的个数
    ●SISMEMBER key mer向ber:判断一个元素是否存在于set中
    ●SMEMBERS: 获取set中的所有元素
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    在这里插入图片描述

    多个集合之间的操作 并集 交集

    在这里插入图片描述

    SMEMBERS: 获取set中的所有元素
    ●SINTER key1 key2 ... :求key1与key2的交集
    ●SDIFF key1 key2 ... :求key1与key2的差集
    ●SUNION key1 key2 ..求key1和key2的并集
    
    • 1
    • 2
    • 3
    • 4

    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题 移除元素
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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:求差集、交集、并集
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    图形化界面中显示

    在这里插入图片描述

  • 相关阅读:
    虚拟机安装centos7(保姆级教程)
    Linux Mint 21.2 “EDGE” ISO 发布
    SSGSSRCSR区别
    基于uni-app与图鸟UI打造的各领域移动端模板大赏
    JavaScript入门①-基础知识筑基
    前端样式获取
    【C语言】——通讯录(静态-动态增长-文件储存)
    CNN经典模型之ALexNet、ResNet、DenseNet总结和比较
    Java 21 新特性:虚拟线程(Virtual Threads)
    Mysql存储-EAV模式
  • 原文地址:https://blog.csdn.net/qq_45007567/article/details/126092978