一: Redis線上不能使用危險的命令
1:keys *
雖然其模糊匹配功能使用非常方便也很強大,在小數據量情況下使用沒什么問題,數據量大會導致 Redis 鎖住及 CPU 飆升,在生產環境建議禁用或者重命名!
2:flushdb
刪除 Redis 中當前所在數據庫中的所有記錄,並且此命令從不會執行失敗
3:flushall
刪除 Redis 中所有數據庫中的所有記錄,不只是當前所在數據庫,並且此命令從不會執行失敗。
4:config
客戶端可修改 Redis 配置。
二:如何禁用或者重命名危險命令
1:看下 redis.conf 默認配置文件,找到 SECURITY 區域,如以下所示:
2:禁用命令
禁用的具體做法是,添加 rename-command 配置即可達到安全目的:
3:重命名命令
如果想要保留命令,但是不能輕易使用,可以重命名命令來設定,設置隨機字符代替:
注意:
這樣重啟服務器后,則需要用新命令來執行操作,否則服務器會報錯 unknown command。
對於FLUSHALL命令,需要設置配置文件中appendonly no,否則服務器無法啟動。