- 文档首页
缓存数据库 Redis 版
常见问题
报错和异常
为什么通过 Redission 客户端连接 Redis 时,会出现 "ERR unknown command 'READONLY'" 报错?
报错和异常
为什么通过 Redission 客户端连接 Redis 时,会出现 "ERR unknown command 'READONLY'" 报错?
为什么通过 Redission 客户端连接 Redis 时,会出现 "ERR unknown command 'READONLY'" 报错?
问题现象
当通过 Redission 客户端连接缓存数据库 Redis 版实例时,出现了 ERR unknown command 'READONLY' 错误提示,具体报错信息如下图所示。
可能原因
Redission 客户端在 Cluster 模式下,ReadMode 默认取值为 SLAVE,此时 Redission 客户端会默认发送 READONLY 命令至 Redis 数据库,但缓存数据库 Redis 版当前不支持READONLY 命令。所以,当使用 Redission 客户端的 Cluster 模式连接 Redis 实例时,可能会出现 ERR unknown command 'READONLY' 报错。更多关于 Redis 支持的命令详情,请参见命令支持。 处理方法
您可以参考如下任意一种方法避免出现上述报错。
方法一(推荐):将 Redission 客户端设置为 Single 模式
Redission 客户端的 Single 模式不会使用 Cluster 相关命令(包括 READONLY 命令),可以避免出现类似 ERR unknown command 'READONLY' 的报错。
您可以参考如下代码,将 Redission 客户端设置为 Single 模式。
方法二:将 Cluster 模式的 ReadMode 设置为 MASTER
如业务需使用 Redission 客户端的 Cluster 模式,您可以将 ReadMode 设置为 MASTER(即仅从主节点读取数据),设置之后,Redission 客户端将不会发送 READONLY 命令至 Redis 数据库,从而避免出现 ERR unknown command 'READONLY' 报错。
您可以参考如下代码,将 Redission 客户端 Cluster 模式下的 ReadMode 设置为 MASTER。
最近更新时间:2025.11.04 21:37:42