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。
