赞
踩
目录
分布式锁是分布式系统中控制共享资源访问的一种锁实现,用分布式锁控制多个进程对资源的访问。
Redisson是架设在Redis基础上,通讯基于Netty的中间件,企业级开发中使用Redis的最佳范本。Redisson 对象提供了关注点分离,这使开发者可以将注意力集中在数据建模和应用程序逻辑上。
- <dependency>
- <groupId>org.redisson</groupId>
- <artifactId>redisson-spring-boot-starter</artifactId>
- <version>3.17.5</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-redis</artifactId>
- </dependency>
配置Redis
-
- spring:
- redis:
- database:
- host:
- port:
- password:
RedissonClient
-
- @Autowired
- private RedissonClient redissonClient;
使用RLock
-
- RLock rLock = redissonClient.getLock(orderId);
- try {
- boolean lockFlag = rLock.tryLock(waitTime, TimeUnit.SECONDS);
- if (lockFlag) {
- // TODO 业务逻辑
- }
- } catch (Exception e) {
- log.error("处理失败", e);
- }finally {
- try {
- rLock.unlock();
- } catch (IllegalMonitorStateException e) {
- log.warn("没有获取到锁,解锁失败");
- }
- }
本文讲述了分布式锁的特征以及Redisson分布式锁的基础用法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。