在获取分布式锁的同时,是否可以根据锁键在redis中存储对象?



我们使用redisson的分布式锁是为了避免分布式环境中的并发问题,但在获取锁的同时,我还想保存一些元数据,如userId(随机UUID),以知道谁获得了锁,但意外情况是,我不能使userId成为键的一部分.

所以请帮助我,如果我们可以在redis分布式锁中存储一些自定义元数据,或者如果有任何工作可以得到类似的结果。

RLock lock = redisson.getFairLock("anyLock");//if we can store some custom data with the lock key.
lock.lock();
try {
...
} catch {
lock.unlock();
}

可以使用绑定到Map表项的锁

RMap map = redisson.getMap("myMap");
RLock lock = map.getLock("key");
lock.lock();
try {
map.put("key", value);
} catch {
lock.unlock();
}

最新更新