redisson分布式锁的基础使用

1、配置redis连接

springboot 2.2.x以上版本只需配置redis无需另外配置redisson

2、使用方式

java 复制代码
import cn.hutool.extra.spring.SpringUtil;

import java.util.concurrent.TimeUnit;

public class LockUtil {

    private final static RedissonClient redisson = SpringUtil.getBean(RedissonClient.client.class);

    public static void redissonLock(String key, Runnable runnable) throws Exception {
        // 引入redis分布式锁
        RLock lock = redisson.getLock(key);
        try {
            // 尝试获取锁,最多等待 10 秒,锁自动过期时间为 5 秒
            boolean isLocked = lock.tryLock(10, 5, TimeUnit.SECONDS);
            if (isLocked) {
                // todo 执行业务操作
                runnable.run();
            } else {
                // todo 未获取到锁时的处理
            }
        } finally {
            // 释放锁
            if (lock.isHeldByCurrentThread()) {
                lock.unlock();
            }
        }
    }
}
     
   

3、 使用要点

  1. 根据需求配置等待时间
  2. 处理未获取到锁的情况
  3. 执行操作过后需要采用finally去解锁
相关推荐
阳光是sunny3 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
灯澜忆梦3 小时前
GO_并发编程---定时器
开发语言·后端·golang
阳光是sunny3 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
皮皮林5514 小时前
开源实力派,给本地 AI 装上深度调研能力,一张 3090 跑到 95.7 分!
后端
努力的小雨4 小时前
把 Windows 桌面图标做成一个会自己运转的小世界
后端
武子康5 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端
腾渊信息科技公司6 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
IT_陈寒7 小时前
Vue这个特性差点让我加班到凌晨,谁懂啊
前端·人工智能·后端
段一凡-华北理工大学7 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
码事漫谈8 小时前
1999年的电商前夜和2026年的AI前夜 历史押韵但从不重复
后端