您可以在控制台上通过设置#no_loose_disabled-commands参数来禁用一些可能影响Redis服务性能、危害数据安全的命令。

背景信息

在业务场景中,无限制地允许命令使用可能带来诸多问题。一些命令会直接清空大量甚至全部数据,例如FLUSHALLFLUSHDB等;KEYSHGETALL等命令的不当使用可能会阻塞Redis服务,影响服务性能。您可以结合实际情况,禁用特定的命令。

为保障Redis实例稳定、高效率地运行,部分命令不支持被禁用,例如CONFIG等,具体命令请参见不支持禁用的命令

操作步骤

  1. 访问Redis实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中,单击参数设置
  3. 在参数列表中找到#no_loose_disabled-commands参数,单击其操作列的修改
  4. 在弹出的对话框中填写需禁用的命令。
    重要 命令以小写字母的形式填写(否则会报错),通过英文逗号(,)分隔多个命令,例如keys,flushdb
  5. 单击确定

执行结果

通过redis-cli连接实例并执行被禁用的命令FLUSHALL后,Redis将返回错误提示:(error) ERR command 'FLUSHALL' not support for normal user禁用命令的效果

不支持禁用的命令

CONFIG、MIGRATE、RESTORE-ASKING、LASTSAVE、BGREWRITEAOF、REPLICAOF、BGSAVE、PFDEBUG、PFSELFTEST、SLAVEOF以及ACL系列命令、MODULE系列命令和DEBUG系列命令。

相关API

API接口说明
DescribeParameters查询Redis实例的配置参数和运行参数。
ModifyInstanceConfig修改Redis实例的参数配置。