springcloud项目中redis哨兵模式使用redisson实现分布式锁实践

springcloud项目中redis哨兵模式使用redisson实现分布式锁实践,第1张

springcloud项目中redis哨兵模式使用redisson实现分布式锁实践 前言

由于项目中需要使用到分布式锁,虽然分布式锁的实现有很多方法,例如,使用数据库、zookeeper、redis,以前我也写过这样的分享文章

虽然可以手写分布式锁,但还是比较复杂的,代码量比较到,由于现在已经有了实现分布式锁的jar包了,例如,redisson就是了,没必要自己手写那么复杂,还是站在前人的肩膀上吧

项目环境

本项目是基于springcloudalibaba的项目,版本如下:

        2.2.10.RELEASE
        Hoxton.SR4
        2.2.5.RELEASE

redis使用哨兵模式的redis

引入依赖

首先得引入redisson得依赖

        
			org.redisson
			redisson-spring-boot-starter
			3.12.4
		
编写redisson配置类
@Configuration
public class RedissonConfig {
    @Value("${spring.redis.sentinel.master}")
    private String mymaster;
    @Value("${spring.redis.sentinel.nodes}")
    private String nodes;
    @Value("${spring.redis.password}")
    private String password;
    @Value("${spring.redis.database}")
    private String databas;

    @Bean
    public RedissonClient redisson() {
        Config config = new Config();
        String [] adds=nodes.split(",");
        for(int i=0;i 

到这里,我们配置得redisson就完成了接下来就是使用了

使用分布式锁

首先,把客户端注入

    @Autowired
    private RedissonClient redissonClient;

然后,在代码中就可以使用分布式锁了,一般用法如下:

         RLock lock = redissonClient.getLock("该锁的key");
        try {
            lock.lock();
            该处为加锁的业务代码
        } finally {
            lock.unlock();
        }

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5700514.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-18

发表评论

登录后才能评论

评论列表(0条)

    保存