redis-cli 是Redis命令行界面,一个简单的程序,允许向Redis发送命令,并直接从终端读取服务器发送的回复。

有两种主要的模式:一种是交互模式,在这种模式下,用户输入命令并获得回复的REPL(Read Eval Print Loop)另一种模式是将命令作为参数发送redis-cli,执行并打印在标准输出上。

redis-cli命令参数:

主要参数:
-h host地址
-p 端口
-n 修改数据库
-r(repeat)选项代表江命令执行多次
-i(interval)选项代表每个几秒执行一次命令(必须和-r选项一致使用;单位是秒,不支持毫秒微单位)
-x 选项代表从标准输入(stdin)读取数据作为redis-cli的最后一个参数
-c(cluster)选项是连接Redis Cluster节点时需要使用的,-c选项可以防止moved和ask异常
-a 如果Redis配置了密码,可以用-a(auth)选项,有了这个选项就不需要手动输入auth命令
--scan和--pattern 选项用于扫描指定模式的键,相当于使用scan命令
--slave 选项是把当前客户端模拟成当前Redis节点的从节点,可以用来获取当前Redis节点的更新操作
--rdb 选项会请求Redis实例生成并发送RDB持久化文件,保存在本地,可使用它做持久化文件的定期备份
--pipe 选项用于将命令封装成Redis通信协议定义的数据格式,批量发送给Redis执行
--bigkeys 选项使用scan命令对Redis的键进行采样,从中找到内存占用比较大的键值,这些键可能是系统的瓶颈
--eval 选项用于执行指定Lua脚本
--latency 选项可以测试客户端到目标Redis的网络延迟(执行结果只有一条)
--latency-history 选项以分时段的形式了解延迟信息(延时信息每15秒输出一次),可以通过-i参数控制间隔时间
--latency-dist 选项会使用统计图表的形式从控制台输出延迟统计信息
--stat 选项可以实时获取Redis的重要统计信息(info命令中的统计信息更全),能实时看到一些增量的数据(例如requests)
--raw和--no-raw
--no-raw选项是要求命令的返回结果必须是原始的格式,--raw恰恰相反,返回格式化后的结果

常见命令:

从属服务器执行命令 SLAVEOF NO ONE 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。
SLAVEOF host port  #命令可以将当前服务器转变为指定服务器的从属服务器(slave server)
client list   #显示连接到服务器的客户端信息
shutdown   #关闭redis服务
ping       #该命令用于检测 redis 服务是否启动
redis-cli -h host -p port -a password  command  #该命令用于在远程服务上执行命令
keys *     #获取所有键值
dbsize     #获取键总数
exists key #查询键是否存在,返回存在的个数,可查询多个
type key   #查询键类型
move key db #移动键到其他数据库
ttl key    #查询key的生命周期(秒)-1:永远不过期。
设置过期时间
秒语法:expire key seconds
毫秒语法:pexpire key milliseconds
永不过期:persist key
rename key newkey  #更改键名称
strlen key   #获取值长度
append key value  #追加内容
set(key, value):给数据库中名称为key的string赋予值value
get(key):返回数据库中名称为key的string的value

via:https://www.runoob.com/redis/redis-keys.html
https://zhuanlan.zhihu.com/p/47692277
https://my.oschina.net/MrMichael/blog/294888