一、操作场景
注意:说明:
注意:disable-command-list 的取值为一个或多个命令名称,多个命令之间以英文逗号分隔(例如 flushall,flushdb,keys)。支持禁用的命令包括 flushall、flushdb、keys、hgetall、eval、evalsha、script 等,具体支持范围以控制台参数列表中「参考值」列出的命令为准。
二、前提条件
·已创建腾讯云分布式缓存数据库实例。
·实例的控制台参数列表中可见 disable-command-list 参数。若不可见,请 提交工单 升级后台版本(版本升级会有连接闪断,重新连接即可)。
三、步骤一:配置 disable-command-list 参数
1. 登录 腾讯云分布式缓存数据库控制台。
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 单击目标实例 ID,进入实例详情页面。
5. 在实例详情页面,选择参数配置 页面。
6. 在可修改参数页签,在参数列表中,找到 disable-command-list 参数行,在当前运行参数值列,将鼠标放在参数值上面,单击修改参数值。具体如何修改,请参见 管理实例参数。
注意:说明:
四、步骤二:验证命令已禁用
通过客户端连接实例后,执行已禁用的命令,服务端将返回报错,说明禁用已生效。以 redis-cli 为例:
redis-cli -h <实例连接地址> -p <端口> -a <密码>
<实例连接地址>:<端口>> keys *(error) ERR command keys is disabled
注意:说明:
注意:上述报错信息为示意,实际返回文案以内核版本真实输出为准。
五、取消禁用命令
在可修改参数页签中,找到 disable-command-list 参数行,在当前运行参数值的禁用列表中删除相应的命令,即可取消对该命令的禁用。
六、补充说明
·被禁用的命令将无法在实例中执行,请确认业务代码中不再依赖这些命令后再进行禁用,避免因命令被禁导致业务报错。
·建议优先禁用时间复杂度高或危险程度高的命令(如 keys、flushall、flushdb);对于全量遍历需求,推荐改用 scan 渐进式处理。
·可在参数配置的修改历史页签中,查看 disable-command-list 的历次修改记录。