当前位置: 首页 > ai >正文

Redis-cli常用参数及功能的详细说明

Redis-cli常用参数及功能的详细说明

相关参考知识书籍 <<Redis运维与开发>>

以下是Redis-cli常用参数及功能的详细说明


1. **-r​(重复执行命令)**

  • 作用:重复执行指定命令多次。

  • 示例:执行3次PING​命令:

    redis-cli -r 3 ping
    

    输出结果会连续返回3次PONG​。

  • 应用场景:测试命令稳定性或批量操作(如压力测试)。


2. **-i​(间隔执行命令)**

  • 作用:与-r​配合使用,设置每次命令执行的间隔时间(单位为秒)。

  • 示例:每隔1秒执行一次PING​,共5次:

    redis-cli -r 5 -i 1 ping
    

    支持毫秒级间隔(如-i 0.1​表示100毫秒)。

  • 注意事项:避免高频操作导致服务端负载过高。


3. **-x​(从标准输入读取参数)**

  • 作用:从标准输入(如管道或文件)读取数据作为命令的最后一个参数。

  • 示例:通过管道设置键值:

    echo "world" | redis-cli -x set hello
    

    等同于执行SET hello world​。

  • 应用场景:自动化脚本或批量导入数据。


4. **-c​(集群模式)**

  • 作用:连接Redis Cluster时自动处理MOVED​和ASK​重定向异常。

  • 示例:连接到集群节点:

    redis-cli -c -h 192.168.1.100 -p 6379
    

    在跨槽位操作时,客户端会自动跳转到正确节点。

  • 重要性:避免手动处理集群分片逻辑。


5. **-a​(密码认证)**

  • 作用:直接使用密码认证,无需手动输入AUTH​命令。

  • 示例:连接带密码的Redis实例:

    redis-cli -a yourpassword
    

    需确保配置文件redis.conf​中设置了requirepass​。

  • 安全提示:避免在命令行明文暴露密码,建议通过环境变量传递。


6. **--rdb​(生成RDB备份)**

  • 作用:请求Redis生成RDB持久化文件并保存到本地。

  • 示例:导出当前实例的RDB文件:

    redis-cli --rdb /path/to/dump.rdb
    

    适用于定期备份或迁移数据。

  • 注意事项:需确保服务端有足够内存生成快照。


7. **--bigkeys​(检测大键)**

  • 作用:扫描内存中占用较大的键(如字符串值超过5MB或集合元素超2000)。

  • 示例:扫描并输出大键统计:

    redis-cli --bigkeys
    

    输出包括各数据类型最大键及其大小。

  • 风险提示:大键可能导致内存溢出、删除阻塞或集群倾斜。


8. **--eval​(执行Lua脚本)**

  • 作用:直接运行Lua脚本,支持原子性操作。

  • 示例:执行脚本文件script.lua​:

    redis-cli --eval script.lua key1 key2 , arg1 arg2
    

    脚本中可通过KEYS​和ARGV​数组获取参数。

  • 优势:减少网络开销,适合复杂逻辑(如分布式锁)。


9. **--latency​(网络延迟检测)**

  • 作用:测试客户端到Redis服务器的网络延迟。

  • 子选项

    • **--latency​**:实时输出最小、最大、平均延迟。
    • **--latency-history​**:分段统计延迟(默认每15秒)。
    • **--latency-dist​**:以直方图形式展示延迟分布。
  • 示例:持续检测延迟:

    redis-cli --latency -h 192.168.1.100
    
  • 应用场景:诊断网络抖动或服务端性能问题。


综合应用示例

# 在集群模式下,每隔2秒检测大键,共扫描5次
redis-cli -c -h cluster-node -i 2 -r 5 --bigkeys# 使用密码连接,导出RDB文件并执行Lua脚本
redis-cli -a password --rdb backup.rdb --eval script.lua key1 , arg1

注意事项

  • 性能影响--bigkeys​和--rdb​可能占用较多资源,建议在从节点执行。
  • 脚本安全:Lua脚本需避免死循环或长时间阻塞操作。
  • 集群兼容性:部分命令(如KEYS *​)在集群中不可用,需替换为SCAN​。
http://www.xdnf.cn/news/1297.html

相关文章:

  • 基于Flask与Ngrok实现Pycharm本地项目公网访问:从零部署
  • Redis常见命令
  • 【C/S通信仿真】
  • uniapp 处理app video组件各种问题
  • vue+flask+lstm高校舆情分析系统 | 可获取最新数据!
  • 蓝桥杯17. 机器人塔
  • gem5-gpu教程04 高速缓存一致性协议和缓存拓扑
  • 服务器配置环境-condapytorch_20250422
  • Java从入门到“放弃”(精通)之旅——String类⑩
  • C#多线程访问资源
  • Node.js 开发用户登录功能(使用mysql实现)
  • 【AI应用】免费代码仓构建定制版本的ComfyUI应用镜像
  • 【Linux应用】RADXA ZERO 3快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互
  • Zookeeper是什么?基于zookeeper实现分布式锁
  • 软件黑盒与白盒测试详解
  • 同样的接口用postman/apifox能跑通,用jmeter跑就报错500
  • 【MCP】第二篇:IDE革命——用MCP构建下一代智能工具链
  • 【Linux】冯诺依曼体系结构及操作系统架构图的具体剖析
  • 【Ubuntu】关于系统分区、挂载点、安装位置的一些基本信息
  • 【算法笔记】动态规划基础(一):dp思想、基础线性dp
  • 【k8s】docker、k8s、虚拟机的区别以及使用场景
  • sentinel
  • CATBOOST算法总结
  • vscode如何多行同时编辑,vscode快速选中多行快捷键
  • 使用 JUnit 4在 Spring 中进行单元测试的完整步骤
  • 【数据结构入门训练DAY-21】信息学奥赛一本通T1334-围圈报数
  • 深入剖析TCP协议(内容二):从OSI与TCP/IP网络模型到三次握手、四次挥手、状态管理、性能优化及Linux内核源码实现的全面技术指南
  • 基于cubeMX的hal库STM32实现MQ2烟雾浓度检测
  • 软考软件设计师30天备考指南
  • 升级xcode16之后react-native-zip-archive不兼容,unsupported option ‘-G‘