Redis 3.0 Proxy集群不支持redisson分布式锁的原因
redisson分布式锁的加锁和解锁流程如下:
- redisson分布式锁的加锁和解锁都是执行一段lua脚本功能实现的。
- 在加锁阶段,需要在lua脚本中执行exists、hset、pexpire、hexists、hincrby、pexpire、pttl命令。
- 在解锁阶段,需要在lua脚本中执行exists、publish、hexists、pexpire、del命令。
由于Proxy集群支持publish/subscribe(redis的发布订阅)时,是需要在Proxy节点上识别publish/subscribe命令,做一些特殊处理(转发给所有redis-server的节点),因此不支持直接在lua脚本中执行publish命令。
因此,Redis 3.0 Proxy集群无法支持redisson的分布式锁机制,如果需要使用redisson分布式锁功能,建议使用Redis 4.0或Redis 5.0集群。