keys * 易引起性能问题,导致CPU占用飙升;
对于Redis的keys * 、flushdb、flushall等耗时命令,我们应当慎用,或者禁止使用,这类命令我们可以配置redis.conf禁用这些命
对于时间复杂度为O(n)的数据操作命令,也应该根据自己的数据量使用,命令如下:
List: lindex、lset、linsert
Hash: hgetall、hkeys、hvals
Set: smembers、sunion、sunionstore、sinter、sinterstore、sdiff、sdiffstore
Sorted Set: zrange、zrevrange、zrangebyscore、zrevrangebyscore、zremrangebyrank、zremrangebyscore
扫描二维码关注公众号,回复:
6487474 查看本文章
Redis的危险命令主要有:
flushdb,清空数据库
flushall,清空所有记录,数据库
config,客户端连接后可配置服务器
keys,客户端连接后可查看所有存在的键
我们常常需要禁用以上命令来使服务器更加安全。
禁用的具体做法是,修改服务器的配置文件redis.conf,在SECURITY这一项中,我们新增以下命令:
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command KEYS ""
转载于:https://www.jianshu.com/p/a395919de8ef