一: Redis线上不能使用危险的命令

1:keys *

虽然其模糊匹配功能使用非常方便也很强大,在小数据量情况下使用没什么问题,数据量大会导致 Redis 锁住及 CPU 飙升,在生产环境建议禁用或者重命名!

2:flushdb

删除 Redis 中当前所在数据库中的所有记录,并且此命令从不会执行失败

3:flushall

删除 Redis 中所有数据库中的所有记录,不只是当前所在数据库,并且此命令从不会执行失败。

4:config

客户端可修改 Redis 配置。

二:如何禁用或者重命名危险命令

1:看下 redis.conf 默认配置文件,找到 SECURITY 区域,如以下所示:

Redis禁用危险命令

 

 

 

2:禁用命令

禁用的具体做法是,添加 rename-command 配置即可达到安全目的:

Redis禁用危险命令

 

 

3:重命名命令

如果想要保留命令,但是不能轻易使用,可以重命名命令来设定,设置随机字符代替:

 

Redis禁用危险命令

 

注意

这样重启服务器后,则需要用新命令来执行操作,否则服务器会报错 unknown command。

对于FLUSHALL命令,需要设置配置文件中appendonly no,否则服务器无法启动。

 

相关文章:

  • 2021-12-04
  • 2022-12-23
  • 2021-08-16
  • 2022-01-12
  • 2021-10-07
  • 2022-12-23
  • 2021-11-05
  • 2021-04-02
猜你喜欢
  • 2022-12-23
  • 2021-08-26
  • 2022-12-23
  • 2021-08-30
  • 2022-12-23
  • 2021-12-11
相关资源
相似解决方案