文档首页/ 分布式缓存服务 DCS/ 用户指南(巴黎区域)/ 常见问题/ Redis使用/ Redis3.0 Proxy集群不支持redisson分布式锁的原因
更新时间:2022-02-21 GMT+08:00

Redis3.0 Proxy集群不支持redisson分布式锁的原因

redisson分布式锁的加锁和解锁流程如下:

  1. redisson分布式锁的加锁和解锁都是执行一段lua脚本功能实现的。
  2. 在加锁阶段,需要在lua脚本中执行exists、hset、pexpire、hexists、hincrby、pexpire、pttl命令。
  3. 在解锁阶段,需要在lua脚本中执行exists、publish、hexists、pexpire、del命令。

由于Proxy集群支持publish/subscribe(redis的发布订阅)时,是需要在Proxy节点上识别publish/subscribe命令,做一些特殊处理(转发给所有redis-server的节点),因此不支持直接在lua脚本中执行publish命令。

因此,Redis3.0 Proxy集群无法支持redisson的分布式锁机制,如果需要使用redisson分布式锁功能,建议使用Redis4.0或Redis5.0集群。