[001-03-007].第26节:分布式锁迭代3->优化基于setnx命令实现分布式锁

news2024/11/24 2:16:29

我的博客大纲

我的后端学习大纲


1、死锁问题:

在这里插入图片描述
在这里插入图片描述

setnx刚刚获取到锁,当前服务器宕机,导致del释放锁无法执行,进而导致锁无法锁无法释放(死锁)


2、解决办法:

  • 解决:给锁设置过期时间,自动释放锁

3、编码实现:

3.1.设置过期时间两种方式:

a.expire设置过期时间

  • 1.通过expire设置过期时间(缺乏原子性:如果在setnx和expire之间出现异常,锁也无法释放

b.set指令设置过期时间

  • 1.使用set指令设置过期时间:set key value ex 3 nx(既达到setnx的效果,又设置了过期时间)
    在这里插入图片描述

4、测试:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年度建筑工程中级、副高职称水平能力测试合格人员公示啦

目前副高水测考过有1016名人员 中级水测考过人员有75人 为什么省直副高和中级相差人员那么多?想知道原因嘛?评论区聊一下

一文为你详解期权波动率是什么?

今天期权懂带你了解一文为你详解期权波动率是什么?采用合适的期权组合来对冲或利用波动率变化带来的机会。不同策略适用于不同的市场条件和投资目标。 期权波动率 假如我们为地震灾害去买一份保险,你认为什么样地震的保险费会更贵呢,是深圳…

Java工具插件

一、springboot集成mqtt订阅 阿里云MQTT使用教程_复杂的世界311的博客-CSDN博客_阿里云mqtt 阿里云创建MQTT服务 先找到产品与服务,然后选择物联网平台,找到公共实例,创建一个产品。 创建产品 然后在左侧下拉栏找到设备管理,在设备管理下拉栏找到设备,然后添加设备。添加…

Java 多维数组

1.多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。 2. 二维数组 3.以上二维数组a可以看成两行五列的数组。 数组名.length获取的是一共有多少行;数组名[i].length获取的是第i1行有多少列…

如何从零开始备考高项(信息系统项目管理师),并且可以一次性通过考试?

这个我有经验! 信息系统项目管理师作为软考高级科目,难度不小,需一次性通过三个科目,所以零基础的朋友一定要提前复习,建议大家复习时间不少于4个月时间。 不知道该如何备考的,可以看看我下方的建议&…

大模型备案,全程配合包过拿到备案号

本文详解备案流程,旨在帮助企业和开发者顺利完成备案,确保AI技术健康有序发展。 一、政策要求做大模型备案 大模型备案是中国国家互联网信息办公室为加强生成式人工智能服务的管理,确保用户权益得到充分保护,以及保障国家安全和…

SQL语句开发规范

最近写 SQL 比较多,但是 SQL 语句写得非常不规范,在编辑器中经常被 Typo 提示,因此,我重新回顾并总结了一下阿里有关于 SQL 的开发手册,以下是一些总结心得: General SQL 代码中的关键字,保留字…

【kubernetes】实战:HPA自动扩/缩容

实现原理 针对Pod 自动扩缩容,主要根据检测 CPU 使用率或自定义指标(metrics) 是否达到预定义限制,从而自动对 Pod 进行扩/缩容。 通常对Deployment,StatefulSet进行扩缩容。不适用于无法扩/缩容的对象(如:DaemonSet…

6-Python基础编程之数据类型操作——数值、布尔和字符串

Python基础编程之数据类型操作——数值、布尔和字符串 数值整数浮点数复数常用操作 布尔类型字符串字符串拼接字符串切片常用函数查找计算转换操作填充压缩分割拼接判定操作 数值 表现形式:整数(int)、浮点数(float)、…

Conmi的正确答案——MySQL的层级递归查询(递归公共表表达式,CTE)

数据库:oceanbase-ce 递归sql主体: WITH RECURSIVE country_area_tree AS (-- 非递归部分,初始化查询SELECT id, area_name, parent_id, 0 AS levelFROM country_areaWHERE id 589004044419077UNION ALL-- 递归部分,找到子节点S…

秋招春招,在线测评题库包含哪些?

各位小伙伴们,秋招春招的号角已经吹响,作为HR,我们又要开始忙碌起来了。面对众多的候选人,如何高效、准确地筛选出合适的人选呢? 在线测评就是一个非常有用的工具。本文就说说在线测评题库里的那些事儿,主…

中国书法——孙溟㠭浅析碑帖《三希堂法帖》

孙溟㠭浅析碑帖《三希堂法帖》 全称是《三希堂石渠宝笈法帖》,是中国清代宫廷刻帖,一共三十二册。 清朝高宗弘历收藏了晋王羲之《快雪时晴帖》,王献之的《中秋帖》,王珣的《伯远帖》三种王氏原墨迹。故而把所藏法书之所…

【hot100-java】【除自身以外数组的乘积】

R8-普通数组篇 印象题&#xff0c;计算前缀&#xff0c;计算后缀&#xff0c;计算乘积。 class Solution {public int[] productExceptSelf(int[] nums) {int n nums.length;int[] prenew int[n];pre[0]1;for (int i1;i<n;i){pre[i]pre[i-1]*nums[i-1];}int[] sufnew int[…

【支付】Stripe支付通道Java对接(产品 价格 支付 查询 退款 回调)

Stripe是一家美国科技公司&#xff0c;成立于2010年&#xff0c;由爱尔兰兄弟Patrick Collison和John Collison共同创立。该公司致力于提供高效、简洁的互联网支付收款服务&#xff0c;为开发者或商家提供支付API接口或代码&#xff0c;使商家的网站、移动APP支持信用卡付款。S…

微深节能 天车无人抓渣系统 格雷母线定位系统

微深节能的天车无人抓渣系统结合格雷母线定位系统&#xff0c;为工业自动化领域带来了显著的技术提升。 一、系统概述 微深节能的天车无人抓渣系统是一种高度自动化的解决方案&#xff0c;它集成了格雷母线定位系统&#xff0c;实现了天车在无人操作下的精准定位与高效作业。该…

新颖的团建分组方式

如何实现男女比例平均分组&#xff1f; 在组织团建活动时&#xff0c;采用新颖的分组方式可以增加团队的互动性和参与感。本文将介绍一种基于云分组小程序的男女比例平均分组方法&#xff0c;以及如何高效地邀请成员加入和管理分组。 步骤一&#xff1a;创建分组 1. 进入云分组…

JAVAWeb---JavaScript

第三章 JavaScript 一 JS简介 1.1 JS起源 Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言&#xff0c;主要目的是为了解决服务器端语言&#xff0c;遗留的速度问题&#xff0c;为客户提供更流畅的浏览效…

【English】长难句翻译

这里写目录标题 技巧知识点1. 定语从句 和 状从区别2. 定从 修饰词3. who 和 whom 区别4. 除了定从、状从,还有啥?5. 怎么在长难句快速定位到主谓宾而不被各种从句中的动词影响判断6. 没有,的那种一大堆从句连起来的长难句怎么办7. 时态怎么放在翻译里总结技巧 知识点 1. 定语…

游戏论坛网站|基于Springboot+vue的游戏论坛网站系统游戏分享网站(源码+数据库+文档)

游戏论坛|游戏论坛系统|游戏分享网站 目录 基于Springbootvue的游戏论坛网站系统游戏分享网站 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大…

[数据集][目标检测]汽车头部尾部检测数据集VOC+YOLO格式5319张3类别

数据集制作单位&#xff1a;未来自主研究中心(FIRC) 版权单位&#xff1a;未来自主研究中心(FIRC) 版权声明&#xff1a;数据集仅仅供个人使用&#xff0c;不得在未授权情况下挂淘宝、咸鱼等交易网站公开售卖,由此引发的法律责任需自行承担 数据集格式&#xff1a;Pascal VOC格…