• Redis 常用基本命令


    查看所有键

    keys命令可用于查看所有键,语法如下
    pattern用于匹配key,其中*表示任意个任意字符

    keys pattern
    

    键总数
    dbsize可用于查看键的总数,语法如下

    dbsize
    

    判断键是否存在
    exists命令可用于判断一个键是否存在,语法如下

    exists key
    

    删除键
    del可用于删除指定键,语法如下
    返回值为删除键的个数,若删除一个不存在的键,则返回0。

    del key [key ...]
    

    查询键的剩余过期时间

    ttl key
    

    数据库管理命令
    Redis默认有编号为0~15的16个逻辑数据库,每个数据库之间的数据是相互独立的,所有连接默认使用的都是0号数据库。
    切换数据库
    select命令可用于切换数据库,语法如下

    • 若index超出范围,会报错
    select index
    

    清空数据库
    flushdb命令会清空当前所选用的数据库,flushall命令会清空0~15号所有的数据库。

    string

    Redis中的string类型保存的是字节序列(Sequence of bytes),因此任意类型的数据,只要经过序列化之后都可以保存到Redis的string类型中,包括文本、数字甚至是一个对象
    set
    set命令用于添加string类型的键值对,具体语法如下

    SET key value [NX|XX] [EX seconds|PX milliseconds]
    

    各选项含义如下

    • NX:仅在key不存在时set
    • XX:仅在key存在时set
    • EX seconds:设置过期时间,单位为秒
    • PX milliseconds:设置过期时间,单位为毫秒

    get
    get命令用于获取某个string类型的键对应的值,具体语法如下

    GET key
    

    incr
    incr命令用于对数值做自增操作,具体语法如下

    • 若key对应的value是整数,则返回自增后的结果,若不是整数则报错,若key不存在则创建并返回1。
    INCR key
    

    decr
    decr命令用于对数值做自减操作,具体语法如下
    若key对应的value是整数,则返回自减后的结果,若不是整数则报错,若key不存在则创建并返回-1。
    应用场景
    string类型常用于缓存、计数器等场景。

    DECR key
    
    list类型

    添加元素
    向列表中添加元素的命令有lpush、rpush 、linsert,各命令的功能与用法如下
    lpush
    该命令用于向list左侧添加元素,语法如下

    lpush key element [element ...]
    示例
    lpush l1 a b c
    

    rpush
    该命令用于向list右侧添加元素,语法如下

    rpush key element [element ...]
    

    linsert
    该命令用于向list指定位置添加元素,语法如下

    linsert key before|after pivot element
    示例
    linsert l1 after b new
    

    查询元素
    查询list元素的命令有lindexlrange,各命令的功能与用法如下

    • lindex
      该命令用于获取指定索引位置的元素,语法如下
    • index从左到右依次是0,1,2…,从右到左依次是-1,-2,-3…
    lindex key index
    

    lrange
    该命令用于获取指定范围内的元素列表,语法如下

    lrange key start stop
    示例
    获取list全部元素,命令如下
    lrange l1 0 -1
    


    删除list元素的命令有lpop、rpop、lrem,各命令的功能与用法如下
    lpop
    该命令用于移除并返回list左侧元素,语法如下

    lpop key [count]
    

    rpop
    该命令用于移除并返回list右侧的元素,语法如下

    rpop key [count]
    

    lrem
    该命令用于移除list中的指定元素,语法如下

    lrem key count element
    

    count参数表示要移除element元素的个数(list中可以存在多个相同的元素),count的用法

    • 若count>0,则从左到右删除最多count个element元素
    • 若count<0,则从右到左删除最多count(的绝对值)个element元素
    • 若count=0,则删除所有的element元素

    修改元素
    lset命令可用于修改指定索引位置的元素,语法如

    lset key index element
    

    llen命令可用于查看list长度,语法如下

    llen key
    
    • 社交应用中,可使用list缓存每个用户发布的最新的N条记录。
    • list可用作异步消息队列。
    set类型

    add
    该命令用于向set中添加元素,语法如下

    • smembers
      该命令用于查询set中的全部元素,语法如下
    smembers key
    
    • srem
      该命令用于移除set中的指定元素,语法如下
    srem key member [member ...]
    
    • spop
      该命令随机移除并返回set中的n个元素,语法如下
    spop key [count]
    
    • srandmember
      该命令随机返回set中的n个元素(不删除),语法如下
    srandmember key [count]
    
    • scard(Cardinality,基数)
      该命令用于查询set中的元素个数,语法如下
    scard key
    
    • sismember
      该命令用于元素是否在set中,语法如下
    sismember key element
    
    • sismember
      该命令用于元素是否在set中,语法如下
    sismember key element
    ``
    

    sinter
    该命令用于计算多个集合的交集,语法如下

    sinter key [key ...]
    

    sunion
    该命令用于计算多个集合的并集,语法如下

    sunion key [key ...]
    

    sdiff
    该命令用于计算多个集合的差集,语法如下

    sdiff key [key ...]
    

    set可用于计算共同关注好友,随机抽奖系统等等。

    hash类型

    hash类型类似于Java语言中的HashMap,可用于存储键值对。
    hset
    该命令用于向hash中增加键值对,语法如下
    hset
    该命令用于向hash中增加键值对,语法如下

    hset key field value [field value ...]
    

    hget
    该命令用于获取hash中某个键对应的值,语法如下

    hget key field
    

    hdel
    该命令用于删除hash中的指定的键值对,语法如下

    hdel key field [field ...]
    

    hlen
    该命令用于查询hash中的键值对个数,语法如下

    hlen key
    

    hexists
    该命令用于判断hash中的某个键是否存在,语法如下

    hexists key field
    

    hkeys
    该命令用于返回hash中所有的键,语法如下

    hkeys key
    

    hvals
    该命令用于返回hash中所有的值,语法如下

    hvals key
    

    hgetall
    该命令用于返回hash中所有的键与值,语法如下

    hgetall key
    

    hash类型可用于缓存对象等。

    zset类型

    zset(sorted set)被称为有序集合,同set相似,zset中也不会包含相同元素,但不同的是,zset中的元素是有序的。并且zset中的元素并非像list一样按照元素的插入顺序排序,而是按照每个元素的分数(score)排序。
    zadd
    该命令用于向zset中添加元素,语法如下

    ZADD key [NX|XX] score member
    

    zcard
    该命令用于计算zset中的元素个数,语法如下

    zcard key
    

    zscore
    改名用于查看某个元素的分数,语法如下

    zscore key member
    
    • zrank/zrevrank
      这组命令用于计算元素的排名,其中zrank按照score的升序排序,zrevrank则按照降序排序,语法如下
    zrank/zrevrank key member
    

    **说明:**名次从0开始。

    • zrem
      该命令用于删除元素,语法如下
    zrem key member [member ...]
    
    • zincrby
      该命令用于增加元素的分数,语法如下
    zincrby key increment member
    
    • zrange
      该命令用于查询指定区间范围的元素,语法如下
    zrange key start stop [byscore] [rev] [limit offset count] [withscores]
    

    说明:

    • start/stop:用于指定查询区间,但是在不同模式下,其代表的含义也不相同
      • 默认模式下,start~stop表示的是名次区间,且该区间为闭区间。名次从0开始,且可为负数,-1表示倒数第一,-2表示倒数第二,以此类推。
      • byscore模式下(声明了byscore参数),则start~stop表示的就是分数区间,该区间默认仍为闭区间。在该模式下,可以在startstop前增加(来表示开区间,例如(1 (5,表示的就是(1,5)这个开区间。除此之外,还可以使用-inf+inf表示负无穷和正无穷。
    • byscore:用于切换到分数模式
    • rev:表示降序排序。在byscore模式下使用rev参数需要注意查询区间,start应大于stop。
    • limit:该选项只用于byscore模式,作用和sql语句中的limit一致
    • withscores:用于打印分数
  • 相关阅读:
    爬取任意百度贴吧评论(可直接Copy)
    进制转换(牛客)(Java语言)
    流式响应Web小工具实践
    F. Rats Rats(二分 or 预处理)[UTPC Contest 09-02-22 Div. 2 (Beginner)]
    Docker 部署SpringBoot项目,使用外部配置文件启动项目
    什么是供应商管理?
    Linux内核队列queue.h
    使用kubeadm搭建高可用集群-k8s相关组件及1.16版本的安装部署
    【ElasticSearch8】SpringBoot集成ElasticSearch8.x 基本应用 CRUD操作 环境安装
    jetson ubuntu 设置 usb声卡为默认声卡
  • 原文地址:https://blog.csdn.net/qq_62383709/article/details/139307772