【Redisson starter】 红锁 RedLock
【Redisson starter】 红锁 RedLock
Metadata
title: 【Redisson starter】 红锁 RedLock
date: 2023-01-22 21:46
tags:
- 行动阶段/完成
- 主题场景/组件
- 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
- 细化主题/Module/Redisson
categories:
- Redisson
keywords:
- Redisson
description: 【Redisson starter】 红锁 RedLock 基于Redis的Redisson红锁RedissonRedLock对象实现了Redlock介绍的加锁算法。该对象也可以用来将多个RLock对象关联为一个红锁,每个RLock对象实例可以来自于不同的Redisson实例 与联锁比较相似,都是对多个资源进行加锁,但是红锁与连锁不同的是,红锁只需要在大部分资源加锁成功即可,
【Redisson starter】 红锁 RedLock
基于Redis的Redisson红锁RedissonRedLock对象实现了Redlock介绍的加锁算法。该对象也可以用来将多个RLock对象关联为一个红锁,每个RLock对象实例可以来自于不同的Redisson实例
与联锁比较相似,都是对多个资源进行加锁,但是红锁与连锁不同的是,红锁只需要在大部分资源加锁成功即可,
/**
* 红锁
*/
@Test
public void testRedLock(){
RLock lock1 = redissonTemplate.getLock("lock1" );
RLock lock2 = redissonTemplate.getLock("lock2");
RLock lock3 = redissonTemplate.getLock("lock3");
RedissonRedLock lock = new RedissonRedLock (lock1, lock2, lock3);
boolean flag = lock.tryLock();
if(flag){
try {
log.info("红锁加索成功");
}finally {
//一定要释放锁
lock.unlock();
}
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蝶梦庄生!
评论