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命令并使用通配符造成的。