You need to enable JavaScript to run this app.
导航

命令支持与限制

最近更新时间2024.01.22 17:03:20

首次发布时间2022.01.14 17:38:57

本文汇总了缓存数据库 Redis 版命令支持相关的常见问题。

为何有的 Redis 实例不能使用 KEYS 命令?

缓存数据库 Redis 版的实例类型不同,默认禁用的高危命令也不同,执行这些禁用命令时会出现 no permission to execute the command 的报错。针对启用分片集群的 Redis 实例,当使用直连地址访问实例时,默认禁用 flushallkeys 命令。更多关于命令限制的信息,请参见命令限制

启用分片集群的 Redis 实例为何使用不了事务命令?

启用分片集群的 Redis 实例使用事务命令时,需要注意:

  • 支持通过公网或私网地址连接实例时使用事务命令,但在执行事务命令时,需要保证命令所要操作的 KEY 都分布在 1 个 hash slot 中。您可以通过 hash tag 来构造相同 slot 的 Key。hash tag 的使用方法,请参见 Keys hash tags

    说明

    您也可以提交工单联系技术支持通过设置相关参数,将事务中不同 slot 的命令拆分到不同分片,但此时无法保证事务的原子性。

  • 使用直连地址连接实例时,支持所有事务命令。

更多关于命令限制的信息,请参见命令限制

如何启用被禁用的命令,如 FLUSHDB?

缓存数据库 Redis 版默认禁用了一些高危命令(如 flushallflushdbkeys 等),执行这些禁用命令时会出现 no permission to execute the command 的报错。关于高危命令限制的更多信息,请参见高危命令限制
如需使用禁用命令,需将对应的命令从禁用命令参数(即 disabled-commands 参数)的默认值中移除。参数修改方法,请参见设置实例参数

启用分片集群的 Redis 实例通过 Lua 脚本执行命令时,为什么会出现 CROSSSLOT Keys in request don't hash to the same slot 报错?

针对已启用分片集群的 Redis 实例,若命令所要操作的 Key 没有都分布在 1 个 hash slot 中,会出现CROSSSLOT Keys in request don't hash to the same slot 报错。您可以通过 hash tag 来构造相同 slot 的 Key。hash tag 的使用方法,请参见 Keys hash tags
更多关于 Redis 命令限制的信息,请参见受限的命令

为何执行 Cluster 相关命令时,缓存数据库 Redis 版和原生 Redis 的返回结果有差异?

火山引擎缓存数据库 Redis 版在原生 Redis 架构基础上增加了代理节点,能够通过一个统一的连接地址(域名)访问 Redis 服务,帮助降低应用开发难度和代码复杂度。因此,在执行 Cluster 相关命令时,会与原生 Redis 执行对应 Cluster 命令的返回结果有差异。
关于缓存数据库 Redis 版支持的 Cluster 命令详情,请参见命令支持