You need to enable JavaScript to run this app.
导航
命令支持与限制
最近更新时间:2024.07.18 23:07:42首次发布时间: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 的命令拆分到不同分片,但此时无法保证事务的原子性。
  • 在使用直连模式连接实例执行事务命令时,必须严格保证事务所操作的 Key 均在同一 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 命令详情,请参见命令支持