[转帖]redis-cli 命令式操作--模糊删除,带空格删除

redis,cli,命令式,操作,模糊,删除,空格 · 浏览次数 : 0

小编点评

**Redis-cli 命令操作说明** **1. 使用说明** - `redis-cli` 命令是用于操作 Redis 的命令行工具。 - `-h <hostname>`:设置服务器主机。默认值为 `127.0.0.1`。 - `-p <port>`:设置服务器端口。默认值为 `6379`。 - `-s <socket>`:设置服务器套接管。默认值为 `localhost`。 - `-a <password>`:设置服务器密码。 - `-r <repeat>`:重复执行命令指定数量次。 - `-i <interval>`:等待指定时间执行命令。 - `-n <db>`:设置要连接的数据库。 - `-x`:从 STDIN 读取最后一条命令。 - `-d <delimiter>`:使用指定的分隔符格式字符串分隔命令。 - `-c`:启用集群模式。 --raw:使用 raw 格式输出回复。 --no-raw:强制格式化输出,即使 STDOUT 不是 TTY。 --csv:输出 CSV 格式。 --stat:打印滚动统计信息。 --latency:进入持续的延迟模式,监控服务器的 latency。 --latency-history:类似 `--latency`,但跟踪延迟变化。 --latency-dist:显示延迟为一组谱图,需要 xterm 256 色彩。 --lru-test:模拟 Redis 内存负载,以 80% 的数据分布。 --slave:模拟从服务器接收命令。 --rdb <filename>:从远程服务器 Transfer RDB dump 到本地文件。 --pipe:将 stdin 与服务器进行数据传输。 --pipe-timeout <n>:在 pipe 模式中,等待 n 秒发送数据后关闭连接。 --bigkeys:在扫描中处理大数据键。 --scan:列出所有键。 --pattern:使用 SCAN 模式搜索键。 --intrinsic-latency:测量系统内部延迟。 --eval <file>;执行 Lua 脚本。 --ldb:开启 Redis lua debugger。 --ldb-sync-mode:使用同步的 Lua debugger,阻塞服务器。 --help:输出帮助信息并退出。 --version:输出版本并退出。 **2. 示例** ``` # 设置服务器主机 redis-cli -h 192.168.1.100 # 获取密码 redis-cli get mypasswd # 批量删除 key redis-cli -r 100 -i 1 info | grep used_memory_human: # 使用 --eval 执行 Lua 脚本 redis-cli --eval myscript.lua key1 key2 , arg1 arg2 arg3 # 列出所有键 redis-cli --scan --pattern "*:12345*" # 同时删除多个 key redis-cli --scan --pattern "ops-coffee-*" | xargs -L 2000 redis-cli del ```

正文

  • https://www.cnblogs.com/linyufeng/p/13610717.html

     

    1. redis-cli 命令操作帮助说明

    C:Program FilesRedis>redis-cli.exe --help
    redis-cli 3.2.100
    
    Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
      -h <hostname>      Server hostname (default: 127.0.0.1).
      -p <port>          Server port (default: 6379).
      -s <socket>        Server socket (overrides hostname and port).
      -a <password>      Password to use when connecting to the server.
      -r <repeat>        Execute specified command N times.
      -i <interval>      When -r is used, waits <interval> seconds per command.
                         It is possible to specify sub-second times like -i 0.1.
      -n <db>            Database number.
      -x                 Read last argument from STDIN.
      -d <delimiter>     Multi-bulk delimiter in for raw formatting (default: 
    ).
      -c                 Enable cluster mode (follow -ASK and -MOVED redirections).
      --raw              Use raw formatting for replies (default when STDOUT is
                         not a tty).
      --no-raw           Force formatted output even when STDOUT is not a tty.
      --csv              Output in CSV format.
      --stat             Print rolling stats about server: mem, clients, ...
      --latency          Enter a special mode continuously sampling latency.
      --latency-history  Like --latency but tracking latency changes over time.
                         Default time interval is 15 sec. Change it using -i.
      --latency-dist     Shows latency as a spectrum, requires xterm 256 colors.
                         Default time interval is 1 sec. Change it using -i.
      --lru-test <keys>  Simulate a cache workload with an 80-20 distribution.
      --slave            Simulate a slave showing commands received from the master.
      --rdb <filename>   Transfer an RDB dump from remote server to local file.
      --pipe             Transfer raw Redis protocol from stdin to server.
      --pipe-timeout <n> In --pipe mode, abort with error if after sending all data.
                         no reply is received within <n> seconds.
                         Default timeout: 30. Use 0 to wait forever.
      --bigkeys          Sample Redis keys looking for big keys.
      --scan             List all keys using the SCAN command.
      --pattern <pat>    Useful with --scan to specify a SCAN pattern.
      --intrinsic-latency <sec> Run a test to measure intrinsic system latency.
                         The test will run for the specified amount of seconds.
      --eval <file>      Send an EVAL command using the Lua script at <file>.
      --ldb              Used with --eval enable the Redis Lua debugger.
      --ldb-sync-mode    Like --ldb but uses the synchronous Lua debugger, in
                         this mode the server is blocked and script changes are
                         are not rolled back from the server memory.
      --help             Output this help and exit.
      --version          Output version and exit.
    
    Examples:
      cat /etc/passwd | redis-cli -x set mypasswd
      redis-cli get mypasswd
      redis-cli -r 100 lpush mylist x
      redis-cli -r 100 -i 1 info | grep used_memory_human:
      redis-cli --eval myscript.lua key1 key2 , arg1 arg2 arg3
      redis-cli --scan --pattern '*:12345*'
    
      (Note: when using --eval the comma separates KEYS[] from ARGV[] items)
    
    When no command is given, redis-cli starts in interactive mode.
    Type "help" in interactive mode for information on available commands
    and settings.
    

    2. 通过redis-cli实现模糊删除key

    redis-cli --raw keys "ops-coffee-*" | xargs redis-cli del
    

    单线程阻塞,数据量较大时有风险.可以采用下面方案

    redis-cli --scan --pattern "ops-coffee-*" | xargs -L 2000 redis-cli del
    

    其中xargs -L指令表示xargs一次读取的行数,也就是每次删除的key数量,一次读取太多xargs会报错

    选择指定的库可以使用-n

    redis-cli -n 1 --raw keys "ops-coffee-*" | xargs redis-cli -n 1 del
    

    3. key有空格如何删除

    如果key有空格、单双引号,那么xargs就不好使了,可以先通过命令导出key

    redis-cli --scan --pattern "ops-coffee-*" > a.txt
    

    手动加双引号后,进行删除

    cat a.txt | xargs redis-cli del
    

    xargs -t 显示执行命令参数

    参考:

与[转帖]redis-cli 命令式操作--模糊删除,带空格删除相似的内容:

[转帖]redis-cli 命令式操作--模糊删除,带空格删除

https://www.cnblogs.com/linyufeng/p/13610717.html 1. redis-cli 命令操作帮助说明 C:Program FilesRedis>redis-cli.exe --help redis-cli 3.2.100 Usage: redis-cli [

[转帖]Redis进阶实践之十四 Redis-cli命令行工具使用详解第一部分

https://www.cnblogs.com/PatrickLiu/p/8508975.html 一、介绍 redis学了有一段时间了,以前都是看视频,看教程,很少看官方的东西。现在redis的东西要看的都差不多看完了。网上的东西也不多了。剩下来就看看官网的东西吧,一遍翻译,一遍测试。不错的使用体

[转帖]Redis进阶实践之十五 Redis-cli命令行工具使用详解第二部分(结束)

https://www.cnblogs.com/PatrickLiu/p/8527770.html 一、介绍 今天继续redis-cli使用的介绍,上一篇文章写了一部分,写到第9个小节,今天就来完成第二部分。话不多说,开始我们今天的讲解。如果要想看第一篇文章,地址如下:http://www.cnbl

[转帖]详解redis-cli 命令

https://www.jb51.net/article/265208.htm 这篇文章主要介绍了redis-cli 命令详解,主要包括命令使用及使用info命令获取服务器的信息,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 命令使用: 1 redis-c

[转帖]详解redis-cli 命令

https://www.jb51.net/article/265208.htm 这篇文章主要介绍了redis-cli 命令详解,主要包括命令使用及使用info命令获取服务器的信息,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 命令使用: 1 redis-c

[转帖]Redis的info信息.

Info信息 以下信息是在redis-cli中执行info命令,可能和redis cluster版本有点不同的地方,仅此作为参考。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464

[转帖]redis集群批量删除模糊key shell脚本

1. 命令删除: 1. 1批量删除Key Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 redis-cli keys "*" | xargs redis-cli del //如果redis-cl

[转帖]redis模糊批量删除key的方法

https://www.jb51.net/article/270233.htm 一、命令行删除 1 redis-cli -h 172.18.255.99 -p 6379 -n 6 -a 123456 KEYS "websocket127.0.0.1:5*" | xargs redis-cli -h

[转帖]Redis数据库的备份与恢复

Redis备份 当程序有较多的任务在执行时,我们可以redis-cli模式下执行 bgsave,进入后台进行备份. Snapshot 当然我们可以直接运行save命令.会写入dump.rdb文件。 配置说明: save 900 1 #当900秒之后有一个key变化进行持久化保存 save 300 1

[转帖]抛砖系列之redis监控命令

处理一下.. 前言 redis是一款非常流行的kv数据库,以高性能著称,其高吞吐、低延迟等特性让广大开发者趋之若鹜,每每看到别人发出的redis故障报告都让我产生一种居安思危,以史为鉴的危机感,恰逢今年十一西安烟雨不断,抽时间学习了几个redis监控命令,和大家分享一波。 redis-cli --s