当前位置: 首页 > news >正文

Redisson实现分布式锁案例

Redisson实现分布式锁案例

  1. 引入依赖
<dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.23.2</version>
</dependency>
  1. 创建Redisson配置类
@Configuration
public class RedissonConfig {@Beanpublic RedissonClient redissonClient() {Config config = new Config();config.useSingleServer().setAddress("redis://127.0.0.1:6379");// 如果有密码需要设置密码return Redisson.create(config);}
}
  1. 使用分布式锁
@RestController
public class LockController {@Resourceprivate RedissonClient redissonClient;@RequestMapping("/lock")public String lockResource() throws InterruptedException {String lockKey = "myLock";// 获取锁RLock lock = redissonClient.getLock(lockKey);try {// 超时时间 20s, [tryLock 获取成功才需要释放锁,获取失败不需要释放锁]boolean isLocked = lock.tryLock(20, TimeUnit.SECONDS);if(isLocked) {// 成功获取到锁try {TimeUnit.SECONDS.sleep(5);return "成功获取到锁,并执行业务代码";} catch (InterruptedException e) {e.printStackTrace();} finally {// 释放锁lock.unlock();}} else {// 获取锁失败return "获取锁失败";}} catch (InterruptedException e) {e.printStackTrace();}return "获取锁成功";}
}```

相关文章:

Redisson实现分布式锁案例

Redisson实现分布式锁案例 引入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.23.2</version> </dependency>创建Redisson配置类 Configuration pub…...

Generated Knowledge Prompting for Commonsense Reasoning

本文是知识图谱系列相关的文章&#xff0c;针对《Generated Knowledge Prompting for Commonsense Reasoning》的翻译。 常识推理的生成知识提示 摘要1 引言2 生成知识提示3 实验设置4 实验结果5 相关工作6 结论 摘要 结合外部知识是否有利于常识推理&#xff0c;同时保持预训…...

mybatisPlus多数据源方案

背景 在微服务李娜一般一个服务只有一个数据源&#xff0c;但是在有的老项目或者一些特定场景需要多数据源链接不同的数据库&#xff0c;本文以mybatisPlus为基础给出解决方案 多数据源场景分类 情形一&#xff1a;项目启动就确定了情形一&#xff1a;一些sass系统里面动态确…...

MonoDETR: Depth-guided Transformer for Monocular 3D Object Detection 论文解读

MonoDETR论文解读 abstract 单目目标检测在自动驾驶领域&#xff0c;一直是一个具有挑战的任务。现在大部分的方式都是沿用基于卷积的2D 检测器&#xff0c;首先检测物体中心&#xff0c;后通过中心附近的特征去预测3D属性。 但是仅仅通过局部的特征去预测3D特征是不高效的&…...

Vulnhub内网渗透DC-7靶场通关

个人博客: xzajyjs.cn DC系列共9个靶场&#xff0c;本次来试玩一下一个 DC-7&#xff0c;下载地址。 下载下来后是 .ova 格式&#xff0c;建议使用vitualbox进行搭建&#xff0c;vmware可能存在兼容性问题。靶场推荐使用NAT(共享)模式&#xff0c;桥接模式可能会造成目标过多不…...

acunetix2023安装教程

1、解压之后一键安装exe文件 2、将解压出来的Awv2023.6[Windows]文件夹下的wvsc.exe文件放置于AWVS安装目录&#xff0c;与原文件进行替换&#xff0c;如图所示。&#xff08;注&#xff1a;如果是默认安装&#xff0c;则文件位置位于C:\Program Files (x86)\Acunetix\14.2.210…...

pytest pytest.ini 配置日志输出至文件

创建pytest.ini 文件 [pytest] log_file pytest_log.txt log_file_level INFO log_file_date_format %Y-%m-%d %H:%M:%S log_file_format %(asctime)s | %(filename)s | %(funcName)s | line:%(lineno)d | %(levelname)s | %(message)s import pytest import loggingdef …...

Linux脚本-将当前文件夹下所有包含main函数的.c文件提取出来

实现一个Linux脚本&#xff0c;该脚本使用 for 循环遍历当前目录下的所有 .c 文件。 对于每个 .c 文件&#xff0c;使用 grep 命令来查找是否包含字符串 “main”。 如果该 .c 文件包含 “main”&#xff0c;则输出到/home/majn/llvm_project/extract_main目录下。 #!/bin/bas…...

Spring依赖注入(DI)

目录 构造器注入 set注入 拓展注入 bean的作用域 Singleton Prototype Dependency Injection 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 . 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 . 构造器注入 具体实现&#xff1a;SpringIOC创建对象的…...

论文笔记: 深度学习速度模型构建的层次迁移学习方法 (未完)

摘要: 分享对论文的理解, 原文见 Jrome Simon, Gabriel Fabien-Ouellet, Erwan Gloaguen, and Ishan Khurjekar, Hierarchical transfer learning for deep learning velocity model building, Geophysics, 2003, R79–R93. 这次的层次迁移应该指从 1D 到 2D 再到 3D. 摘要 深…...

苹果为 Vision Pro 头显申请游戏手柄专利

苹果Vision Pro 推出后&#xff0c;美国专利局公布了两项苹果公司申请的游戏手柄专利&#xff0c;其中一项的专利图如下图所示。据 PatentlyApple 报道&#xff0c;虽然申请专利并不能保证苹果公司会推出游戏手柄&#xff0c;但是苹果公司同时也为游戏手柄申请了商标&#xff0…...

【数据结构】多叉树转换为二叉树-c++代码实现-POJ 3437 Tree Grafting

文章目录 写这个题目的原因寻找提交网址题目解决思路AC代码成功AC 写这个题目的原因 1、今天在看王道考研数据结构的课&#xff08;虽然我要保研&#xff0c;但是因为这些看保研面试的时候会问&#xff0c;所以看一下嘞orz&#xff09;&#xff0c;看到了这个多叉树转换为二叉…...

ASP.NET Core 中基于 Controller 的 Web API

基于 Controller 的 Web API ASP.NET Wep API 的请求架构 客户端发送Http请求&#xff0c;Contoller响应请求&#xff0c;并从数据库读取数据&#xff0c;序列化数据&#xff0c;然后通过 Http Response返回序列化的数据。 ControllerBase 类 Web API 的所有controllers 一般…...

iOS系统修复软件 Fix My iPhone for Mac

Fix My iPhone for Mac是一款iOS系统恢复工具。修复您的iPhone卡在Apple徽标&#xff0c;黑屏&#xff0c;冻结屏幕&#xff0c;iTunes更新/还原错误和超过20个iOS 12升级失败。这个macOS桌面应用程序提供快速&#xff0c;即时的解决方案来修复您的iOS系统问题&#xff0c;而不…...

Git企业开发控制理论和实操-从入门到深入(七)|企业级开发模型

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…...

15. 卡牌游戏

目录 题目 思路 C整体代码&#xff08;含详细注释&#xff09; 题目 Description 小张在玩一种卡牌游戏&#xff0c;牌组由张牌组成&#xff0c;其中张上写有数字各一张&#xff0c;其余张上全部是数字。 现在牌组经过随机打乱后&#xff0c;小张拿走其中张牌作为手牌&#…...

vue使用打印组件print-js

项目场景&#xff1a; 由于甲方要求&#xff0c;项目需要打印二维码标签&#xff0c;故开发此功能 开发流程 安装包&#xff1a;npm install print-js --saveprint-js的使用 <template><div id"print" ref"print" ><p>打印内容<p&…...

20230830比赛总结

分数 预估分数&#xff1a; 100 100 [ 0 , 20 ] 100 [ 300 , 320 ] 100100[0,20]100[300,320] 100100[0,20]100[300,320] 实际分数&#xff1a; 100 100 10 100 310 10010010100310 10010010100310 反思 B 只是粗略观察表就急于写决策单调性优化&#xff0c;写完后…...

DNS指向别名还是IP

现在有一台服务器dbprod126&#xff0c;ip是172.22.100.4 现在有一个需求&#xff0c;需要在dns中对dbprod126建一个别名wondadb3r的记录&#xff0c;也就是ping wondadb3r的时候显示的是dbprod126的ip&#xff0c;目前有两​种方法&#xff0c;主要使用方法1指向别名&#xf…...

【考研数学】概率论与数理统计 —— 第二章 | 一维随机变量及其分布(1,基本概念与随机变量常见类型)

文章目录 引言一、一维随机变量及其分布1.1 随机变量1.2 分布函数 二、随机变量常见类型及分布2.1 离散型随机变量2.2 连续型随机变量及概率密度函数 写在最后 引言 暑假接近尾声了&#xff0c;争取赶一点概率论部分的进度。 一、一维随机变量及其分布 1.1 随机变量 设随机试…...

新手入门服务器:用快马生成你的第一个xshell等效连接程序

作为一个刚接触服务器运维的新手&#xff0c;第一次使用xshell这类工具时&#xff0c;面对各种专业术语和复杂操作确实容易一头雾水。最近我发现用InsCode(快马)平台生成学习项目特别适合入门&#xff0c;今天就分享一下如何通过可运行的代码实例来理解SSH连接的核心概念。 理解…...

企业微信考勤自动化解决方案:基于EasyWeChat的实战指南

企业微信考勤自动化解决方案&#xff1a;基于EasyWeChat的实战指南 【免费下载链接】easywechat &#x1f4e6; 一个 PHP 微信 SDK 项目地址: https://gitcode.com/gh_mirrors/ea/easywechat 在数字化办公普及的今天&#xff0c;企业考勤管理面临着数据采集繁琐、统计分…...

从CVE-2025-65112到NPM投毒:手把手教你搭建安全的私有包仓库(以PubNet为例)

从CVE-2025-65112到NPM投毒&#xff1a;手把手教你搭建安全的私有包仓库&#xff08;以PubNet为例&#xff09; 最近几年&#xff0c;软件供应链攻击事件频发&#xff0c;从SolarWinds事件到Log4j漏洞&#xff0c;再到最近的NPM投毒事件&#xff0c;每一次都让开发者们心惊胆战…...

突破内容采集瓶颈:XHS-Downloader的5大行业解决方案与效率提升指南

突破内容采集瓶颈&#xff1a;XHS-Downloader的5大行业解决方案与效率提升指南 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具&#xff1a;提取账号发布、收藏、点赞、专辑作品链接&#xff1b;提取搜索结果作品、…...

全能解析工具UniExtract2:多格式提取的效率革命

全能解析工具UniExtract2&#xff1a;多格式提取的效率革命 【免费下载链接】UniExtract2 Universal Extractor 2 is a tool to extract files from any type of archive or installer. 项目地址: https://gitcode.com/gh_mirrors/un/UniExtract2 在数字化信息处理领域&…...

AI 大模型落地系列|Eino ADK体系篇:你对 ChatModelAgent 有了解吗?

声明&#xff1a;本文源于官方文档&#xff0c;重点参考 Eino ADK: ChatModelAgent、Eino ADK: 概述、Eino ADK: Agent 协作 为什么很多人把 ChatModelAgent 想简单了&#xff1f;一文讲透 ReAct、Transfer、AgentAsTool 与 Middleware1. 为什么很多人会把 ChatModelAgent 想简…...

如何用MusicFree插件打造你的专属音乐播放器:终极免费指南

如何用MusicFree插件打造你的专属音乐播放器&#xff1a;终极免费指南 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins MusicFree插件是一个开源的音乐播放器扩展系统&#xff0c;它允许你将多个音…...

Netty ChannelPipeline 线程安全机制的深度解析

Netty ChannelPipeline 线程安全机制的深度解析 摘要 ChannelPipeline 作为 Netty 事件处理管道的核心抽象&#xff0c;其线程安全性的实现是 Netty 高性能、高并发架构的关键基础。Netty 通过精心设计的机制确保了 ChannelPipeline 所有公共方法的线程安全&#xff0c;主要包括…...

SPI Flash性能翻倍秘籍:RT-Thread下W25Q的QSPI模式实战

SPI Flash性能翻倍秘籍&#xff1a;RT-Thread下W25Q的QSPI模式实战 在IoT设备开发中&#xff0c;存储性能往往是系统瓶颈之一。传统SPI接口的Flash存储器虽然成本低廉&#xff0c;但在高速数据读写场景下显得力不从心。本文将深入探讨如何通过QSPI模式充分释放W25Q系列Flash的潜…...

从IPv4到IPv6:除了地址变长,这些‘隐藏’特性(流标签、扩展头、无状态配置)你了解吗?

从IPv4到IPv6&#xff1a;除了地址变长&#xff0c;这些‘隐藏’特性&#xff08;流标签、扩展头、无状态配置&#xff09;你了解吗&#xff1f; 当大多数人谈论IPv6时&#xff0c;第一反应往往是"地址长度从32位扩展到128位"。但地址空间的扩展只是IPv6最表层的改进…...