分布式缓存服务 DCS-Redis 3.0 Proxy集群不支持redisson分布式锁的原因

时间:2023-11-01 16:16:57

Redis 3.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命令。

因此,Redis 3.0 Proxy集群无法支持redisson的分布式锁机制,如果需要使用redisson分布式锁功能,建议使用Redis 4.0或Redis 5.0集群

support.huaweicloud.com/dcs_faq/dcs-faq-0427035.html