【Redis】Redisson实现分布式锁

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务,其中就包含了各种分布式锁的实现。
在这里插入图片描述
官网地址
GitHub地址

Redisson入门

1.引入依赖

<dependency>  
	<groupId>org.redisson</groupId>    
	<artifactId>redisson</artifactId>
	<version>3.13.6</version>
</dependency>

2.配置客户端

@Configuration
public class RedisConfig {
    @Bean
    public RedissonClient redisClient() {
        // 配置类
        Config config = new Config();
        // 添加redis地址
        config.useSingleServer().setAddress("redis://xxx.xxx.xx.xx:6379").setPassword("xxx");
        return Redisson.create(config);
    }
}

3.测试

@SpringBootTest
public class RedissonTset {
    @Resource
    private RedissonClient redisClient;
    @Test
    void testRedisson() throws InterruptedException {
        RLock lock = redisClient.getLock("lock");
        // 分别为获取锁的最大等待时间, 锁自动等待时间
        boolean isLock = lock.tryLock(1, 10, TimeUnit.SECONDS);
        if (isLock) {
            try {
                System.out.println("执行业务");
            } finally {
                lock.unlock();
            }
        }
    }
}

Redis分布式锁原理

Redisson分布式锁原理:

  • 可重入:利用hash结构记录线程id和重入次数
  • 可重试:利用信号量和PubSub功能实现等待、唤醒,获取锁失败的重试机制
  • 超时续约:利用watchDog,每隔一段时间(releaseTime / 3),重置超时时间
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年中国数字经济行业市场前景预测研究报告

随着数字化技术的飞速发展&#xff0c;数字经济已经成为全球经济的重要组成部分。它不仅改变了传统产业的商业模式和运营方式&#xff0c;也催生了许多新兴产业和业态。数字经济的核心在于数据&#xff0c;通过数据的采集、分析和应用&#xff0c;可以实现精准营销、个性化服务…

RabbitMQ 的高阶应用及可靠性保证

目录 一、RabbitMQ 高阶应用 1.1 消息何去何从 1.2 过期时间 1.3 死信队列 1.4 延迟队列 1.5 优先级队列 1.6 消费质量保证&#xff08;QOS&#xff09; 二、持久化 三、生产者确认 四、消息可靠性和重复消费 4.1 消息可靠性 4.2 重复消费问题 上篇文章介绍了 Rabb…

皓学IT:JavaWEB_Cookie

一、Cookie 1.1.Cookie概述 Cookie翻译成中文是小甜点&#xff0c;小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的&#xff0c;随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来&#xff0c;当…

【快刊合集】计算机类SCI,IEEE出版社,中科院2/1区TOP,分数逐年攀升!!

本期推荐 【SciencePub学术】本期&#xff0c;小编给大家推荐的是1本计算机类的甄选好刊&#xff0c;该期刊隶属于IEEE出版社旗下&#xff0c;最新的影响因子已达到7&#xff0c;是1本业内认可度非常高的期刊。 01 期刊基本信息 【期刊简介】IF&#xff1a;7.5-8.0&#xff0…

Git进阶命令-reset

一、reset命令使用场景 有时候我们提交了一些错误的或者不完善的代码&#xff0c;需要回退到之前的某个稳定的版本,面对这种情况有两种解决方法: 解决方法1&#xff1a;修改错误内容&#xff0c;再次commit一次 解决方法2&#xff1a;使用git reset 命令撤销这一次错误的com…

网络类型及数据链路层协议

目录 一、网络的分类 二、数据链路层协议 1、MA网络以太网协议 2、P2P网络 3、HDLC ---高级数据链路控制协议 HDLC地址借用 三、PPP协议 1、PPP协议的优点 2、PPP数据帧封装结构 3、PPP会话的搭建 4、LCP建立——链路建立阶段 4.1协商阶段 4.2认证阶段 4.3 PAP---密…

Java基础【上】韩顺平(反射、类加载、final接口、抽象类、内部类)

涵盖知识点&#xff1a;反射、类加载、单例模式、final、抽象类、接口、内部类&#xff08;局部内部类、匿名内部类、成员内部类、静态内部类&#xff09; P711 反射机制原理 创建如下目录结构&#xff0c;在模块下创建src文件夹&#xff0c;文件夹要设置为Sources文件夹&…

农夫山泉财报公布在即,消费升级的瓶装水市场或将重新洗牌

农夫山泉财报公布在即&#xff0c;消费升级的瓶装水市场或将重新洗牌 新年伊始&#xff0c;2024年对于中国瓶装水行业注定是一个地动山摇的一年&#xff0c;随着农夫山泉董事长钟睒睒上次被媒体集体关注&#xff0c;农夫山泉遭遇上市以来的最大舆论风波。 3月26日农夫山泉的财…

2024 年 8 个最佳 PDF 转 JPG 转换器[免费和付费]

虽然 PDF&#xff08;便携式文档文件&#xff09;是一种流行的文档共享格式&#xff0c;但有时您可能希望将 PDF 文件转换为JPG&#xff0c;然后在网页或社交媒体上共享它们。 在本文中&#xff0c;我们将讨论适用于 Windows 10 和 11 的出色 PDF 到 JPG 转换器的所有特性。 …

精准、快速、便捷:游标尺模式在软件设计中的三大优势

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;并且坚持默默的做事。 &#x1f680; 转载自&#xff1a;探索设计模式的魅力&#xff1a;精准、快速、便捷&#xf…

注册马来西亚商标常见问题

马来西亚商标法于1983年9月1日正式生效。这部商标法废除了马来亚、沙巴和沙捞越三地区各自的商标法规和申请程序&#xff0c;使马来西亚有了一部统一商标法。此外&#xff0c;马来西亚有关商标的法规包括1983年9月1日同时生效的《1983年商标法实施细则》。在马来西亚&#xff0…

matlab ICP配准高阶用法——统计每次迭代的配准误差并可视化

目录 一、概述二、代码实现三、结果展示1、原始点云2、配准结果3、配准误差本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、概述 在进行论文写作时,需要做对比实验,来分析改进算法的性能,期间用到了迭代误差分布统…

Java中的锁:实现并发控制与资源共享

JAVA中的锁 锁的概念锁机制为什么要使用锁锁的种类乐观锁/悲观锁独享锁/共享锁互斥锁/读写锁可重入锁/不可重入锁公平锁/非公平锁分段锁/自旋锁CAS/AQS synchronized概念应用场景四种使用场景效果对比synchronized的特点Lock/ReentrantLock对比 Volatile概念Java内存模型线程可…

多工作空间并存时ROS的环境变量异常问题

今天突然发现当多工作空间并存时&#xff0c;我的ROS的环境变量发生了比较诡异的异常&#xff0c;按照我之前的理解&#xff0c;在.bashrc文件中按顺序设定了ROS的环境变量后&#xff0c;ROS就会按照.bashrc中编写的环境变量来搜寻功能包&#xff0c;例如在.bashrc文件使用sour…

Nuclei Poc开发

1、Poc开发工具介绍 Nuclei&#xff1a;https://nuclei.projectdiscovery.io/ Cloud Platfrom云平台&#xff1a;https://cloud.projectdiscovery.io/ 2、目标站点简介 目标演示站点&#xff1a;http://glkb-jqe1.aqlab.cn/nacos/#/login 指纹&#xff1a;Nacos 已知常用漏洞…

【微服务】Eureka(服务注册,服务发现)

文章目录 1.基本介绍1.学前说明2.当前架构分析1.示意图2.问题分析 3.引出Eureka1.项目架构分析2.上图解读 2.创建单机版的Eureka1.创建 e-commerce-eureka-server-9001 子模块2.检查父子pom.xml1.子 pom.xml2.父 pom.xml 3.pom.xml 引入依赖4.application.yml 配置eureka服务5.…

【Web APIs】事件高级

目录 1.事件对象 1.1获取事件对象 1.2事件对象常用属性 2.事件流 1.1事件流的两个阶段&#xff1a;冒泡和捕获 1.2阻止事件流动 1.3阻止默认行为 1.4两种注册事件的区别 3.事件委托 1.事件对象 1.1获取事件对象 事件对象&#xff1a;也是一个对象&#xff0c;这个对象里…

rapidssl证书通配符证书800元

RapidSSL旗下的DV基础型通配符SSL证书可以同时保护多个域名站点&#xff0c;保护主域名以及主域名下的所有子域名。这款通配符SSL证书可以为网站提供数据加密服务&#xff0c;营造安全的上网环境&#xff0c;确保用户在网站上的数据安全传输。今天就随SSL盾小编了解RapidSSL旗下…

2024年HCIE考试题二

27、以下关于在网络中选择认证点位置的描述中&#xff0c;错误的是哪一项&#xff1f; A.在网络的接入层部署认证&#xff0c;有利于实现权限的细颗粒度管理和网络的高安全性 B.用户认证点从接入层上移到汇聚层之后&#xff0c;可能会导致用户的MAC认证失败 C.当用户认证点从…

DC电源模块的设计与调试技巧

BOSHIDA DC电源模块的设计与调试技巧 DC电源模块的设计与调试是电子工程师在实际项目中常常需要面对的任务。一个稳定可靠的DC电源模块对于电路的正常运行起到至关重要的作用。以下是一些设计与调试的技巧&#xff0c;帮助工程师们更好地完成任务。 第一&#xff0c;正确选择…