Redis Sentinel删除键报错:Command 'UNLINK' is not a registered Redis command
解决Redis Sentinel执行UNLINK命令报错的问题
问题原因
Redis Sentinel的核心作用是监控Redis主从集群、处理故障转移,它本身不是数据存储节点,不支持直接执行UNLINK这类数据操作命令,这是报错的根本原因。另外如果你的Redis版本低于4.0,UNLINK命令本身就不存在(该命令是Redis 4.0新增的),也会触发这个错误。
解决步骤
- 先通过Sentinel获取当前主节点的地址:
执行命令SENTINEL get-master-addr-by-name <你的主节点名称>,会返回主节点的IP和端口号。 - 切换连接到这个主节点(而非Sentinel节点),再执行
UNLINK <要删除的键>命令。 - 如果你的Redis版本低于4.0,直接用
DEL <要删除的键>命令替代UNLINK,两者功能类似,仅UNLINK是非阻塞删除,DEL是阻塞删除。
内容的提问来源于stack exchange,提问作者ConfusedProgrammer
相关产品推荐
相关产品推荐

