1. redis-cli

redis-cli是Redis命令行工具,允许向Redis发送命令,并在终端显示服务器的回复信息。

redis-cli有两种使用模式, 一种是命令模式:把redis-cli作为命令,把Redis的命令作为参数发送给redis-cli,执行并打印输出结果到终端;另一种是交互模式,也是我们常用的模式。

1.1. 命令模式

命令模式是把redis-cli当作一个命令来使用,而Redis的命令都作为参数传给redis-cli命令,最终把Reids命令的执行结果打印在终端,它的语法一般是:

$ redis-cli -h {host} -p {port} -a {password} {command}

如果是连接本机的Redis服务,则 -h-p参数可省略:

$ redis-cli dbsize
(integer) 2

$ redis-cli keys '*'
1) "key1"
2) "db_number"

如果连接非本机Redis服务,则需要指定主机和端口:

$ redis-cli -h redis.dev.7mxing.com -p 6379 ping
PONG
$ redis-cli -h redis.dev.7mxing.com -p 6379 dbsize
(integer) 244

1.2. 交互模式

命令模式是把redis-cli当作一个命令行程序使用,一般用在脚本或某些测试场景中。大多数情况下大部分时间都会用redis-cli的交互模式。

在交互模式下,用户在提示符下键入Redis命令,该命令被发送到服务器进行处理,关在终端打印出服务器的响应结果。

进入交互模式很简单:redis-cli -h {host} -p {port}即可,如果是本机,不需要-h-p参数。

$ bin/redis-cli
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"

字符串127.0.0.1:6379>是提示符,它提示所连接的Redis实例,如果连接的数据库索引非零的数据库,提示会显示数据库的序号:

127.0.0.1:6379> select 10
OK
127.0.0.1:6379[10]> DBSIZE
(integer) 0

1.3. 历史记录和命令补全

  • 历史纪录:所执行命令的历史记录存储在~/.rediscli_history文件中,可以使用上下箭头来选择历史命令。可以通过设置REDISCLI_HISTFILE来使用不同的历史文件名,也可以通过设置为/dev/null来禁用历史记录。

  • 命令补全:可以通过按TAB键来补全Redis命令:

      127.0.0.1:6379> Z<TAB>
      127.0.0.1:6379> ZADD<TAB>
      127.0.0.1:6379> ZCARD<TAB>
    

1.4. 帮助

help命令可以用来查看帮助,主要有两种用法:

  • help @<category> 显示指定组的所有命令,组的类别有:@generic,@list,@set,@sorted_set,@hash, @pubsub,@transactions,@connection,@server,@scripting, @hyperloglog

      127.0.0.1:6379> help @connection
    
        AUTH password
        summary: Authenticate to the server
        since: 1.0.0
    
        ECHO message
        summary: Echo the given string
        since: 1.0.0
    
        PING [message]
        summary: Ping the server
        since: 1.0.0
    
        QUIT -
        summary: Close the connection
        since: 1.0.0
    
        SELECT index
        summary: Change the selected database for the current connection
        since: 1.0.0
    
  • help <commandname> 显示指定命令的帮助。

      127.0.0.1:6379> help PING
    
        PING [message]
        summary: Ping the server
        since: 1.0.0
        group: connection
    

1.5. 参数

可以使用redis-cli --help来查看所有的参数说明:

1.5.1. -h <hostname>

Server hostname (default: 127.0.0.1).

1.5.2. -p <port>

Server port (default: 6379).

1.5.3. -a <password>

Password to use when connecting to the server.

1.5.4. -r <repeat>

将命令重复执行N次。

```bash
$ redis-cli -r 3 ping
PONG
PONG
PONG
```

1.5.5. -i <interval>

每隔几秒(如果想用ms,如10ms则写0.01)执行一次命令,必须与-r一起使用。

$ redis-cli -r 3 -i 2 ping
PONG
PONG
PONG
$redis-cli -r 10 -i 1 info|grep used_memory_human
used_memory_human:2.95G
.....................................
used_memory_human:2.95G

每隔1秒输出内存的使用量,一共输出10次。

$redis-cli -h ip -p port info server|grep process_id
process_id:999

获取redis的进程号999

1.5.6. --no-raw

1.5.7. --raw

返回Redis的原始回复,输出终端不是tty情况下的默认值。

Original: Use raw formatting for replies (default when STDOUT is not a tty). Redis有多种类型,所以默认返回的数据是经过加工的,此参数要求返回未经加工的原始数据;

$ redis-cli --no-raw dbsize
(integer) 2
$ redis-cli --raw dbsize
2

1.6. 特殊模式

到目前为止,我们看到了两种主要模式redis-cli

  • 命令行执行Redis命令。
  • 互动“类似REPL”的用法。 但是,CLI会执行与Redis相关的其他辅助任务:
  • 监控工具可显示有关Redis服务器的连续统计信息。
  • 扫描Redis数据库以获取非常大的密钥。
  • 钥匙空间扫描仪与模式匹配。
  • 作为出版社/子客户端订阅频道。
  • 监视执行到Redis实例的命令。
  • 以不同的方式检查Redis服务器的延迟。
  • 检查本地计算机的调度器延迟。
  • 从远程Redis服务器本地传输RDB备份。
  • 作为Redis奴隶,显示奴隶收到的。
  • 模拟LRU工作负载以显示有关键命中的统计信息。
  • Lua调试器的客户端。

这些任务以后再具体讲解。

1.7. 参考资料

Copyright © wychuan.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-10-17 02:48:52

results matching ""

    No results matching ""