一、data-redis-starter

依赖:

<dependency>
<groupId>io.github.easy-do</groupId>
<artifactId>data-redis-starter</artifactId>
<version>x.x.x</version>
</dependency>
当前具有能力:
1.  集成redis 使用fastjson序列化
2.  集成Redisson锁
3.  注解自动装配 redisson
4.  通过注解使用redis锁

使用:

  1. RedisService
@Autowired
private RedisService redisService;

2. 开启Redisson锁

@EnableRedisson

@EnableRedisson(cluster = true)
@SpringBootApplication
public class SimpleRedisLockApplication {

    public static void main(String[] args) {
        SpringApplication.run(SimpleRedisLockApplication.class, args);
    }

}

// 注解中参数的定义   开启指定模式 只需要设置参数为true即可自动加载相应类型的RedissonClient
    /**
     * 单机模式
     */
    boolean standalone() default false;

    /**
     * 集群模式
     */
    boolean cluster() default false;

    /**
     * 哨兵模式
     */
    boolean sentinel() default false;

3.在方法上使用redis锁

@RedissonLock(key = "lock")

@RedissonRedLock(key = {"lock1","lock2","lock3","lock4"})

4.自定义使用锁

    @Autowired
    RedissonClient redissonClient;

Lock lock = redissonClient.getLock("key");
        try {
            if (lock.tryLock(waitTime,leaseTime,timeUnit)) {
               //业务代码
            }
            throw new CustomException(String.format("线程:%s 获取锁失败",Thread.currentThread().getName()));
        } finally {
            lock.unlock();
        }