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

【分布式锁】什么是分布式锁?分布式锁的作用?

什么是分布式锁

分布式锁是一种用于在分布式系统中协调多个节点对共享资源的访问的机制。它确保在多个节点并发访问时,只有一个节点可以在某个时刻拥有特定资源的访问权,从而避免数据不一致、竞争条件或资源冲突的问题。常用的实现方式有Redis,Zookeeper。我们这篇主要讲解Redis.

为什么要使用分布式锁?为什么不直接使用本地锁呢?

因为本地锁是JVM级别的,它只能锁住当前线程,经过分布式部署之后,每台服务器在并发情况下只能锁住一个线程,因此需要使用分布式锁。
在这里插入图片描述
这种情况下经过Nginx反向代理后,如果使用本地锁,只能锁住当前线程。

为什么Redis可以实现分布式锁

由于Redis本身可以被多个客户端共享访问,因此可以作为存储锁的容器。而且Redis中set还有个NX选项,作用是如果集合中存在key就插入失败,如果不存在,则插入成功。我们可以基于这个实现分布式锁。即当集合中不存在该key时,插入成功,表示获取到锁了,如果插入失败,说明此时没有获取到锁。

注意事项

需要加上过期时间避免当前线程由于某些原因导致无法释放锁,从而造成其他线程无法获取锁

在这里插入图片描述

http://www.xdnf.cn/news/16296.html

相关文章:

  • tensorflow搭建神经网络
  • Linux 磁盘挂载,查看uuid
  • 前端笔记:同源策略、跨域问题
  • 专题:2025微短剧行业生态构建与跨界融合研究报告|附100+份报告PDF汇总下载
  • Python实现PDF按页分割:灵活拆分文档的技术指南
  • 大模型提示词漏洞攻防测试:技术分析与实践指南
  • vlm MiniCPM 学习部署实战
  • 模型的存储、加载和部署
  • RCLAMP0512TQTCT 升特半导体 TVS二极管 12通道全防护芯片 以太网/PLC控制/5G基站专用
  • 微信通话自动录音器
  • 复矩阵与共轭转置矩阵乘积及其平方根矩阵
  • 基于xxl-job的分片实现分库分表后的扫表
  • MySQL深度理解-MySQL事务优化
  • 深度分析Java类加载机制
  • 智能小e-同步说明文档
  • 力扣189:轮转数组
  • 基于springboot的工商局商家管理系统
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘notebook’问题
  • 电子书转PDF格式教程,实现epub转PDF步骤
  • SGLang + 分布式推理部署DeepSeek671B满血版
  • Edwards爱德华泵软件 支持nEXT85和nXDS系列泵,包括nXRi, nRVi和nXLi增强型 nEXT nXDS nXLi
  • YOLO11有效涨点优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测
  • 工具分享02 | Python批量文件重命名工具
  • 从零用java实现 小红书 springboot vue uniapp(14) 集成阿里云短信验证码
  • 核心数据结构:DataFrame
  • 征服 Linux 网络:核心服务与实战解析
  • 从指标定义到AI执行流:衡石SENSE 6.0的BI PaaS如何重构ISV分析链路
  • day46.通道注意力
  • jina-embedding-v4 环境搭建全过程
  • 实验-OSPF