Redisson提供了分布式锁的功能,以下是使用Redisson实现分布式锁的一个简单示例:
首先,添加Redisson的依赖到你的项目中(以Maven为例):
<dependency>
    <groupId>org.redisson</groupId>
    <artifactId>redisson</artifactId>
    <version>3.XX.X</version> <!-- 请使用最新版本 -->
</dependency>然后,使用Redisson提供的API来获取锁并执行同步的代码块:
import org.redisson.Redisson;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
 
public class RedissonLockExample {
 
    public static void main(String[] args) {
        // 配置RedissonClient
        Config config = new Config();
        config.useSingleServer().setAddress("redis://127.0.0.1:6379");
        RedissonClient redisson = Redisson.create(config);
 
        // 获取锁对象实例
        RLock lock = redisson.getLock("myLock");
 
        try {
            // 尝试获取锁,最多等待100秒,锁定之后最多持有锁10秒
            boolean isLocked = lock.tryLock(100, 10, TimeUnit.SECONDS);
            if (isLocked) {
                // 业务逻辑
                System.out.println("Lock acquired");
                // 你的业务代码
 
            } else {
                // 无法获得锁
                System.out.println("Lock not acquired");
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            // 释放锁
            if (lock.isHeldByCurrentThread()) {
                lock.unlock();
                System.out.println("Lock released");
            }
        }
 
        // 关闭RedissonClient
        redisson.shutdown();
    }
}在上述代码中,我们首先配置了RedissonClient,指定了Redis服务器的地址。然后,我们获取了一个锁对象,并在try-finally块中使用,以确保即使发生异常也能释放锁。tryLock方法允许我们指定等待锁和锁的持有时间。最后,在使用完Redisson后关闭RedissonClient以释放资源。