更新时间:2025-08-18 GMT+08:00

重命名DCS实例高危命令

Redis实例创建之后,支持修改部分高危命令,命令修改后,仅修改者知晓修改后的命令,其他用户执行原始命令时会被拦截报错,通过此方式可以限制高危命令的使用。

约束与限制

  • 仅Redis 4.0及以上版本的实例,支持命令重命名功能。
  • 当前支持重命名的高危命令有command、keys、flushdb、flushall、hgetall、scan、hscan、sscan和zscan,Proxy集群实例还支持dbsize和dbstats命令重命名,其他命令暂时不支持。
  • 单机、主备、Cluster集群实例进行命令重命名的过程中可能会自动重启实例,重启单机实例将会清空数据,请谨慎操作。详情请参考重命名过程中是否会重启实例
  • 重命名操作完成后立即生效。因为涉及安全性,页面不会显示重命名后的命令。如果忘记重命名后的命令,重新执行命令重命名即可。
  • 实例支持多次执行重命名操作,每次新的重命名操作都会覆盖之前的重命名操作。(例如,命令command和keys重命名后,再增加重命名flushdb时,需要将命令command和keys一起重命名,否则命令command和keys会恢复原命令)。
  • 命令不能重命名为除本命令外的其他原始命令,例如,keys命令可以命名为keys本身或非命令abc123,但不可以重命名为scan等其他原始命令。
  • 重命名的命令必须以字母开头,长度范围为4~64个字符,且只能包含字母、数字、中划线和下划线。

重命名高危命令

  1. 登录分布式缓存服务管理控制台
  2. 在管理控制台左上角单击,选择实例所在的区域。
  3. 单击左侧菜单栏的“缓存管理”。
  4. 在需要进行重命名命令的缓存实例右侧,单击“操作”列下的“更多 > 命令重命名”。
  5. 在“命令重命名”对话框中,选择需要重命名的高危命令,并在“重命名”框中输入重命名名称,单击“确定”。

    页面中的“重命名记录”会显示该命令是否已被重命名(“已修改”或“未修改”),已经修改过的命令也可以再次重命名。可以同时为多个命令进行重命名。

    图1 命令重命名

  6. 命令重命名后,您可以在“后台任务”页面查看重命名的操作记录。

    仅支持查看重命名操作记录,无法查看重命名后的命令,如果忘记重命名后的命令,可以重新执行重命名。
    图2 命令重命名操作记录

执行重命名命令的结果

例如将flushall命令重命名后,连接实例并执行该命令时,Redis会返回错误提示:(error) ERR ERR unknown command `flushall`。

重命名过程中是否会重启实例

  • Proxy集群实例和读写分离实例命令重命名不会重启实例。
  • 单机、主备、或Cluster集群实例在执行命令重命名时,如果操作窗口中提示“重命名的过程中会重启实例”(如图3所示),则重命名过程会重启实例,如果操作窗口中没有该提示,重命名过程中不会重启实例。
    图3 命令重命名窗口