首页 > 数据库 >redisson是如何实现锁自动续期的

redisson是如何实现锁自动续期的

时间:2023-11-24 18:11:58浏览次数:34  
标签:redisson 过期 获取 Redisson 线程 自动 续期

Redisson 是一个在 Redis 的基础上实现的 Java 驻留对象和服务,同时也是一个具有许多功能的 Java 驻留对象和服务库。Redisson 提供了很多分布式相关的服务,其中就包括分布式锁。

Redisson 的锁自动续期功能主要通过以下方式实现:

  1. 锁的续期: 当一个线程获取了 Redisson 的锁之后,默认情况下,这个锁的存活时间是 30 秒。如果在这 30 秒内,线程因为某些原因没有释放这个锁,那么 Redisson 会自动为这个锁进行续期。这样,即使这个线程因为某些原因挂掉了,锁也不会立即被其他线程获取,而是在原线程恢复或者手动释放之前,一直保持锁定状态。
  2. 监听锁过期: Redisson 提供了一个 API,可以监听一个键的过期事件。当一个键过期时,Redisson 会自动为这个键重新续期,以保证线程可以正常获取并持有这个锁。
  3. 自动重试获取锁: 如果一个线程在尝试获取一个已经被持有的锁时,Redisson 会自动进行重试。这样可以保证线程在尝试获取锁的过程中,不会因为竞争关系而一直等待。

以上就是 Redisson 实现锁自动续期的一些基本原理和方法。在实际应用中,可以根据具体的需求和场景,调整锁的存活时间、重试次数等参数,以获得更好的性能和体验。

疑问

监听锁过期的会不会有问题呀?例如延迟导致锁没续期等

标签:redisson,过期,获取,Redisson,线程,自动,续期
From: https://www.cnblogs.com/lyn8100/p/17854446.html

相关文章

  • 脚本自动化定制开发:实现高效工作的魔法钥匙
    在当今这个快节奏的工作环境中,自动化已成为提高工作效率的黄金标准。如果你是一名Windows用户,那么通过Windows脚本自动化,你可以将你的工作流程化繁为简,实现高效工作。而在众多Windows脚本自动化工具中,Python以其简洁易学的特点,逐渐成为了许多人的首选。一、Python与Windows脚本自......
  • 单片非晶磁性测量系统全自动测量软件
    单片非晶磁性测量系统全自动测量软件l 软件能够运行于Windows系统下作界面全中文提示,操作直观简捷。l 全自动控制与计算,智能化判断,最大限度消除人工操作所带来的误差。l 可实时显示电流、电压、功率的量值,并可在多个窗口中显I(t)、U(t)、B(t)采样波形和B(H)磁滞回线。实时......
  • 接口自动化测试要做什么?只需要会这8个步骤...
    作者的标题,是问做接口自动化测试的流程吗?如果是,那先了解下接口测试流程:1、需求分析2、Api文档分析与评审3、测试计划编写4、用例设计与评审5、环境搭建(工具)6、执行用例7、缺陷管理8、测试报告了解了接口测试的工作流程,那"接口自动化测试"怎么弄?只需要在上篇文章的基础上再梳理下......
  • python用playwright自动化测试程序打包exe
    playwright自动化测试代码写好后,打包为exe运行在目标PC上可能出现错误。原因:1、运行的PC没有响应的浏览器。2、playwright没有打包到代码中。所以本例用AutoPytoExe为例来制作exe程序解决问题。1、安装: 2、安装完成之后,我们就可以输入:auto-py-to-exe,来启动auto-py-to-exe......
  • UI自动化测试神器:RunnerGo测试平台
    可以直接进入官网下载开源版或点击右上角体验企业版体验RunnerGoUI自动化平台RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。RunnerGoUI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂......
  • UI自动化测试神器:RunnerGo测试平台
    可以直接进入官网下载开源版或点击右上角体验企业版体验 RunnerGoUI自动化平台RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。RunnerGoUI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队......
  • mac端 安卓UI自动化安装环境配置
    安装JDK 官网下载安装包https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html 选择对应mac版本的dmg文件下载安装 配置Java环境终端执行命令vi~/.bash_profile文件,/Library/Java/JavaVirtualMachines/jdk-17.jdk/Content......
  • FB自动发帖机器人
    探讨FB自动发推机器人的利与弊 近年来,随着社交媒体的普及和发展,自动发推机器人在Facebook(FB)上的使用越来越普遍。这些机器人可以自动发布推文、回复评论,甚至与用户互动,为个人用户和企业带来了诸多便利。然而,与此同时,这些自动发推机器人也引发了一系列的争议。本文将就FB自动发......
  • 一文了解导入测试数据自动化生成测试用例的方法
    概述  在模型开发过程中,测试是一个不可或缺的环节。在测试过程中,测试用例的编写是所有测试工程师关注的重点和难点。在编写的过程中,可能会遇到各种各样的问题,比如历史测试用例的复用,比如在MiL阶段回放HiL阶段的测试数据来debug,又如需要通过Excel实现测试用例的存储等等。上述......
  • 解决google启动自动拦截打开hao123,360,2345等页面问题
    这里只有干货,直接上流程,希望能帮到不曾谋面的朋友1.流程一:2.流程二:3.流程三:生成了一个副本4.流程四:5.流程五:双击打开就可以了**6.流程六:留下你宝贵的脚印**......