2

本文档将一些 redis-cli 的日常使用较多的用法整理如下,以方便查阅。

完整版使用可以参考 redis 官方文档《 redis-cli, the Redis command line interface

连接

$ redis-cli -h <ip> -p <port> -a <passwd> -n <dbid> ping
PONG
  • -h redis 服务器 ip
  • -p redis 服务器 port
  • -a 密码
  • -n 选择要使用的 db

数据导入

-x 选项,将 /etc/services 中的内容作为 foo 的 value。

$ redis-cli -x set foo < /etc/services
OK

将多个命令写入到文本中,它们可以一次接一个地被执行到。

$ cat /tmp/commands.txt
set foo 100
incr foo
append foo xxx
get foo
$ cat /tmp/commands.txt | redis-cli
OK
(integer) 101
(integer) 6
"101xxx"

使用 pipeline 做一次性导入数据。

cat data.txt | redis-cli --pipe

data.txt 文件接受两个格式。
1)将 commands.txt 转成的redis 协议格式
2)使用 unix2doc 命令处理过的 commands.txt 文件

使用 lua 脚本导入数据。

$ cat /tmp/script.lua
return redis.call('set',KEYS[1],ARGV[1])
$ redis-cli --eval /tmp/script.lua foo , bar
OK

执行

$ redis-cli -r 3 -i 1 INFO | grep rss_human
used_memory_rss_human:1.38M
used_memory_rss_human:1.38M
used_memory_rss_human:1.38M
  • -r 相同命令执行次数 (count),值为 -1 表示永远执行下去
  • -i 命令执行间隔多少秒 (delay),默认值为 0

数据导出

--csv 选项,数据以 csv 格式导出。

$ redis-cli lpush mylist a b c d
(integer) 4
$ redis-cli --csv lrange mylist 0 -1
"d","c","b","a"

--rdb 选项,将所连接的实例中的数据以 rdb 的格式导出。

$ redis-cli --rdb /tmp/dump.rdb
SYNC sent to master, writing 13256 bytes to '/tmp/dump.rdb'
Transfer finished with success.

统计相关

--stat 选项可以做一些实时统计

$ redis-cli --stat
------- data ------ --------------------- load -------------------- - child -
keys       mem      clients blocked requests            connections
506        1015.00K 1       0       24 (+0)             7
506        1015.00K 1       0       25 (+1)             7
506        3.40M    51      0       60461 (+60436)      57
506        3.40M    51      0       146425 (+85964)     107
507        3.40M    51      0       233844 (+87419)     157
507        3.40M    51      0       321715 (+87871)     207
508        3.40M    51      0       408642 (+86927)     257
508        3.40M    51      0       497038 (+88396)     257

--bigkeys 选项永远扫描大 key

$ redis-cli --bigkeys

--scan 选项,可以配合 --pattern 一起用来批量扫描 key。

$ redis-cli --scan --pattern '*-11*'
key-114
key-117
key-118
key-113
key-115
key-112
key-119
key-11
key-111
key-110
key-116

--latency 选项可以用来统计耗时。

$ redis-cli --latency
min: 0, max: 1, avg: 0.19 (427 samples)

happen
341 声望111 粉丝

几句话没办法介绍自己...