陪玩平台开发,Redisson框架中的分布式锁

陪玩平台开发,Redisson框架中的分布式锁
实现分布式锁通常有三种方式:数据库、Redis 和 Zookeeper。我们比较常用的是通过 Redis 和 Zookeeper 实现分布式锁。Redisson 框架中封装了通过 Redis 实现的分布式锁,下面我们分析一下它的具体实现。

引入依赖

<!--        pom.xml文件-->
<dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.17.7</version>
</dependency>

 

yml配置

spring:redis:redisson:config:singleServerConfig:address: redis://127.0.0.1:6379database: 0password: nulltimeout: 3000

 

直接注入使用

package top.emanjusaka;import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;/*** @Author emanjusaka www.emanjusaka.top* @Date 2024/2/28 16:41* @Version 1.0*/
@Service
public class Lock {@Resourceprivate RedissonClient redissonClient;public void lock() {// 写入redis的key值String lockKey = "lock-test";// 获取一个Rlock锁对象RLock lock = redissonClient.getLock(lockKey);// 获取锁,并为其设置过期时间为10slock.lock(10, TimeUnit.SECONDS);try {// 执行业务逻辑....System.out.println("获取锁成功!");} finally {// 释放锁lock.unlock();System.out.println("释放锁成功!");}}}

 

以上就是陪玩平台开发,Redisson框架中的分布式锁, 更多内容欢迎关注之后的文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/887909.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4. MySQL 逻辑架构说明

4. MySQL 逻辑架构说明 @目录4. MySQL 逻辑架构说明1. 逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors(连接器)1.3 第1层:连接层1.4 第2层:服务层1.5 第3层:引擎层1.6 存储层2. SQL执行流程2.1 MySQL 中的 SQL 执行流程2.2 MySQL8中SQL执行原理最后:1. 逻辑架构剖析…

无线充电

https://baijiahao.baidu.com/s?id=1809048563048631142&wfr=spider&for=pc 工信部放宽无线充电设备频率和功率限制,安卓厂商或加大无线充电功率,苹果则因Qi2.0标准频率与航空无线电导航业务冲突而调整。无线充电技术发展迅速,但仍需解决充电发热等问题。咱也就是说…

陪玩平台搭建,利用Redis实现多级缓存

陪玩平台搭建,利用Redis实现多级缓存如何使用redis6客户端缓存前置条件: redis服务端版本必须是>=6。lettuce版本>=6 目前java的redis客户端找了一圈,貌似只有lettuce 6支持,其他客户端估计后期会支持1、项目中pom引入lettuce GAV<dependency><groupId>i…

《DeepSeek中小学生/家长使用手册》让因材施教不再是选择题!

最近有受到粉丝私信如何在小初高的学习中使用DeepSeek来提供成绩;确实,随着教育改革的推进,学习内容日益丰富且难度加大,许多家长在辅导孩子和沟通交流方面感到困扰。无论是学生还是家长,找到合适的学习与辅导方式至关重要。尽管市面上有多种培训机构和学习工具可供选择,…

读DAMA数据管理知识体系指南01数据管理(上)

数据管理对企业至关重要,需规划、协作和领导力,确保数据质量和隐私,支撑企业决策和运营,数据是组织资产,需全生命周期管理,高质量数据带来竞争优势。1. 数据管理 1.1. 数据是一种至关重要的企业资产1.1.1. 数据和信息能使他们洞察顾客、产品和服务,帮助企业创新并实现其…

推荐几款开源且免费的 .NET MAUI 组件库

前言 今天大姚给大家推荐 3 款开源且免费的 .NET MAUI 组件库。 .NET MAUI介绍 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。.…

dotnet 在 VisualStudio 一键 F5 启动调试 Roslyn 分析器项目

本文将告诉大家如何在 VisualStudio 里面,一键使用习惯的 F5 键进行快速构建和启动调试 Roslyn 分析器项目在 dotnet 里面编写的 SourceGenerator 源代码生成器,或者是分析器时,可能编写的逻辑比较复杂,期望制作一个项目进行调试。或者是原本分析器能够跑得好好的,莫名就在…

dotnet OpenXML 已知问题 设置 0x0001 等 XML 不合法字符给到标题将在保存时抛出异常

本文记录 OpenXML 的已知问题,在 `PackageProperties.Title` 等属性上设置字符串包含如 Unicode 编码为 0x0001 等 XML 不合法字符,将在保存写入文件时,抛出 ArgumentException 异常此问题报告给了官方: https://github.com/dotnet/Open-XML-SDK/issues/1874 最简复现代码:…

区块链模型原理入门学习1——简易模型

区块链模型原理入门学习1——简易模型 最近抽空学习一下区块链的设计原理,正在搭建一个非常简易的模型,上生产的模型肯定复杂的多,不过学习还是由简入难,逐步深入才行,一口吃不成胖子。我使用的是C#编写的。区块链的特点:1.分布式记账,去中心化。2.挖矿是按照平台规则通…

python小技巧 收集

2的三次方:2**37除以3的整数商:7//3

VUE3 + Vite 编译部署后不报错,但显示空白页面

1、在 vite.config.js 中添加(ts版本则为 vite.config.ts)base: ./ 2、将路由模式改为 hash 模式history: createWebHashHistory() 3、注意检查路由文件需要由函数导入 (我的是未使用箭头函数导入,本地运行正常,但部署后无法正确加载路由,也不报错,找死人。。。)

今日排错

上图错误的解决办法:application.yml中的mybatis plus配置中去掉configlocation即可。