• linux redis string 乱序版


    清屏

    clear
    
    • 1

    返回上一级目录:

    cd ..
    
    • 1

    数据库

    数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库
    在这里插入图片描述

    一、 增 / 改

    1.1 单个键值对:set

    set key value
    
    示例:
    set name zhx
    set name "zhx"   //同一个key值,后面的set 会覆盖前面的value
    set age 24
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.2 多个键值对:mset

    mset key value key value .....
    
    • 1

    **set**

    二、删

    2.1 删除:del

    del key
    
    示例:
    del name
    del age
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    三、改

    3.1 重命名:rename

    rename key newname
    
    示例:
    rename age TestAge
    
    • 1
    • 2
    • 3
    • 4

    3.2 数字自增1: INCR

    Increment 的缩写,中文表示:“增量”。redis数据库执行后,自增1

    • Redis INCR命令将 key 中储存的数字加上1。

    • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR命令。

    • 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

    截图

    3.3 数字增加指定值:INCRBY

    将 key 中储存的数字加上指定的增量值。

    • Redis INCRBY命令将 key 中储存的数字加上加上指定的增量值。

    • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY命令。

    • 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
      在这里插入图片描述

    3.4 数字自减1: DECR

    decrease 的缩写,中文表示:“减少”。redis数据库执行后,自减1

    • Redis DECR命令将 key 中储存的数字减少1。

    • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR命令。

    • 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

    3.5 数字减少指定值:DECRBY

    将 key 中储存的数字减去指定的值。

    • Redis DECRBY 命令将 key 中储存的数字减去指定的值。

    • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 命令。

    • 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

    在这里插入图片描述

    3.6 追加:append

    如果 key 已经存在并且是一个字符串, append 命令将 value 追加到 key 原来的值的末尾。
    如果 key 不存在, append 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。

    四、查

    4.1 查询:get

    get key
    
    示例:
    get name
    get age
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.1 多个查询:mget

    mget key1 key2
    
    示例:
    mget name age ...
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.2 查询所有:keys *

    keys *
    
    • 1

    在这里插入图片描述

    4.3 模糊查询:keys xxx*

    redis 127.0.0.1:6379> SET runoob1 redis
    OK
    redis 127.0.0.1:6379> SET runoob2 mysql
    OK
    redis 127.0.0.1:6379> SET runoob3 mongodb
    OK
    
    
    查找以 runoob 为开头的 key:
    redis 127.0.0.1:6379> KEYS runoob*
    1) "runoob3"
    2) "runoob1"
    3) "runoob2"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    4.4 批量查询:scan 命令提供了 count 参数,可以控制每次遍历的集合数。

    SCAN cursor [MATCH pattern] [COUNT count]
    
    示例:
    scan 0 MATCH * COUNT 100 //从游标0开始查,遍历到100
    scan 5 MATCH * COUNT 5   //从游标5开始查,遍历到5
    
    • 1
    • 2
    • 3
    • 4
    • 5

    由于 Redis 是单线程在处理用户的命令,而 Keys 命令会一次性遍历所有 Key,于是在 命令执行过程中,无法执行其他命令。这就导致如果 Redis 中的 key 比较多,那么 Keys 命令执行时间就会比较长,从而阻塞 Redis。

    所以很多教程都推荐使用 Scan 命令来代替 Keys,因为 Scan 可以限制每次遍历的 key 数量。

    Count 参数越大,交互次数越少。但是Redis 阻塞时间也会越长,需要取舍。
    极限一点,Count 参数和总 Key 数一致时,Scan 命令就和 Keys 效果一样了。

    4.5 是否存在:exists

    exists key
    
    示例:
    exists name
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    4.6 查看数据类型:type

    type key
    
    示例:
    type age
    
    • 1
    • 2
    • 3
    • 4

    4.7 字符串取部分长度: getrange

    getrange key star end
    
    示例:
    getrange name 0 6  //取第1~第7个字符
    getrange name 3 8	//取第4~第9个字符
    getrange name 0 -1	//取所有字符,和 get name 相同的效果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    4.8 先取后存:getset

    设置指定 key 的值,并返回 key 的旧值。

    redis> GETSET db mongodb    # 没有旧值,返回 nil
    (nil)
    
    redis> GET db
    "mongodb"
    
    redis> GETSET db redis      # 返回旧值 mongodb
    "mongodb"
    
    redis> GET db
    "redis"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    4.9 字符串长度:strlen

    strlen key
    
    • 1

    五、其他

    5.1 设置key生命周期:expire

    用于设置 key 的过期时间,key 过期后将不再可用。单位以秒计。

    expire key 10
    
    • 1

    在这里插入图片描述

    5.2 查看生命周期:ttl、pttl

    ttl key   //按秒返回
    pttl key  //按毫秒返回
    
    • 1
    • 2

    5.3 永久生命周期:persist

    persist key
    
    • 1

    在这里插入图片描述

    5.4 将 key 移动到给定的数据库:move

    move key db
    
    示例:
    move name 1  
    
    • 1
    • 2
    • 3
    • 4
    • 如果key不存在,则移动失败
    • 如果两个数据库存在同名key,则不执行移动

    在这里插入图片描述

  • 相关阅读:
    Talk|CVPR‘24 Oral:超越3D - Point Transformer V3中的多模态特征提取新构想
    批量BMP图片转为PNG透明图片,去掉BMP黑色背景,压缩导出png图片V1.1
    Raft协议浅析
    网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持
    Java项目(三)-- SSM开发社交网站(4)--实现图书类别和图书分页查询
    每日一练 | 华为认证真题练习Day127
    docker介绍、安装及卸载
    MySQL和Oracle JDBC驱动包下载步骤
    为什么要让员工入职流程实现自动化
    【C语言刷LeetCode】451. 根据字符出现频率排序(M)
  • 原文地址:https://blog.csdn.net/qq_41749451/article/details/126655869