整合Redisson分布式锁

文章介绍了如何在Java应用中使用Redisson客户端创建和管理分布式锁,包括在POM文件中添加依赖,通过@Autowired注解注入RedissonClient,以及在代码中使用RLock接口进行加锁和解锁操作。配置部分展示了如何基于Spring的@Configuration注解设置Redis服务器的连接信息,如主机地址、端口和密码。
摘要由CSDN通过智能技术生成

RedissonClient分布式锁

1、 导入pom文件

        <!--使用redisson作为分布式锁-->
        <dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson</artifactId>
            <version>3.16.8</version>
        </dependency>

2、代码片段

    @Autowired
    private RedissonClient redissonClient;
    
public void testRedisson(HttpServletRequest request) {
        //new 一个redisson示列
            RLock testRedisson = redissonClient.getLock(RedissonLockKeys.CS_REDISSON_LOS.getKey());
        try {
            // 为testRedisson上锁并且时间为两分钟
            testRedisson.lock(2, TimeUnit.MINUTES);
            System.out.println("执行代码中.................");
        } finally {
            System.out.println("释放锁");
            testRedisson.unlock();
        }
    }```

#### 3、工具类

```java
@Configuration
public class RedissonConfig {

    @Value("${spring.redis.host}")
    private String host;

    @Value("${spring.redis.port}")
    private String port;
    @Value("${spring.redis.password}")
    private String password;


    @Bean(destroyMethod = "shutdown")
    public RedissonClient redissonClient() {
        // 创建配置 指定redis地址及节点信息
        Config config = new Config();
//        config.useSingleServer().setAddress("redis://"+host+":"+port+"").setPassword(password);
        if (StringUtils.isNotEmpty(password)) {
            config.useSingleServer().setAddress("redis://" + host + ":" + port + "").setPassword(password);
        } else {
            config.useSingleServer().setAddress("redis://" + host + ":" + port + "").setPassword(null);
        }
        // 根据config创建出RedissonClient实例
        return Redisson.create(config);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜡笔小心_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值