Redis CPU占用过高会导致所有使用Redis的客户端性能大幅下降,可能的原因中其中一个是大量的请求,尤其是keys命令请求过多,查询流程:

1. 使用info和monitor命令(这两个命令也可以登录之后使用,不过有可能造成client的crash)

redis-cli -h 192.168.1.xx  -a 'xxx' info 

redis-cli -h 192.168.1.xx  -a 'xxx' monitor 

info命令会显示当前的状态,monitor会显示当前的客户端的命令请求;

2. 使用慢查询 

redis-cli -h 192.168.1.xx  -a 'xxx' slowlog get (reset替换get清空旧的log)

这个命令会显示出最近一段时间内的耗时较久的查询。


这几个命令综合起来,基本可以找到是哪些命令频繁调用造成系统繁忙。

一般来说,都是大量调用keys命令并使用通配符造成的。