Redis禁用危险命令

本文介绍了Redis中四个危险命令:keys*、flushdb、flushall和config,这些命令可能导致数据丢失或服务器不稳定。为确保线上环境安全,可以通过redis.conf配置文件的rename-command选项禁用或重命名这些命令。例如,可以将危险命令改为随机字符串,重启服务器后使用新命令执行相应操作。需要注意,对于flushall命令,还需设置appendonlyno以防止服务器启动失败。

一: 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,否则服务器无法启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值