[分布式锁]:Redis与Redisson

news/2024/10/23 9:39:33/

文章目录

  • 1 分布式锁
    • 1.1 为什么需要分布式锁?
      • 1.1.1 引入业务场景
      • 1.1..2 本地锁与分布式锁
    • 1.2 分布式锁核心思想
    • 1.3 基于Redis实现分布式锁
      • 1.3.1 基于Redis实现分布式锁问题
      • 1.3.2 问题时间线分析
  • 2 Redisson入门
    • 2.1 Redisson快速实现
    • 2.2 开门狗机制
    • 2.3 加锁的实现原理

1 分布式锁

1.1 为什么需要分布式锁?

1.1.1 引入业务场景

业务场景:在物流系统中,快递员提交支付请求,由于网络等原因一直没有返回二维码,此时快递员在发起一次请求,这样就会生成2个订单,这就重复了不符合业务场景,因此我们就要在生成交易订单时加锁,若获取到锁就执行,否则就抛出异常。

1.1…2 本地锁与分布式锁

锁的定义:用于保障并发访问时数据的一致性、可见性和安全性。在多线程中为避免数据竞争常使用锁来限制对共享资源的访问。

本地锁:诸如synchronized、Lock锁等,只适用于单体项目锁定,在多个节点的分布式项目中不适用。

分布式锁:诸如Redisson、ZooKeeper等,适用于分布式多节点锁定。

1.2 分布式锁核心思想

实现分布式锁,可以借助Redis的setnx命令实现,使用该命令时,若key存在,则返回1,若key不存在,则返回0,也就意味着key只能设置一次,假设有多个线程同时设置值,只有一个能设置成功,这样就得到互斥效果,即达到锁的效果。

setnx命令演示:
在这里插入图片描述

1.3 基于Redis实现分布式锁

1.3.1 基于Redis实现分布式锁问题

1.3.2 问题时间线分析

2 Redisson入门

2.1 Redisson快速实现

2.2 开门狗机制

2.3 加锁的实现原理


http://www.ppmy.cn/news/288320.html

相关文章

打开网页302错误

问题:打开登录页始终加载不了样式,打开F12和控制台后端,看到在报302错误。 解决: 发现login.html与base.html的css文件引用目录错误。更改了,重新运行问题解决

错误码429是什么错误?

访问页面的次数过于频繁 错误代码429也是网页中经常见的错误,是因为点击该网页频率过高。 实际开发中遇到的,客户端收到429错误,以为是服务端接口逻辑问题,实际是sentinel限流了。

Docker网络模型(七)使用 IPvlan 网络

使用 IPvlan 网络 IPvlan 驱动为用户提供了全面控制 IPv4 和 IPv6 寻址的能力。 IPvlan 让操作者能完全操控二层(数据链路层)网络的 vlan 标签,甚至也提供了三层(网络传输层)路由控制给感兴趣的用户。对于抽象出物理限…

html显示当前脚本错误,访问网页总是提示当前网页脚本发生错误怎么办?

很多用户现在还在使用IE浏览器来浏览网页,不过最近有用户反映在访问网页的过程中弹出“脚本错误”的提示框,提示当前页面的脚本发生错误,这是怎么回事呢?出现这种情况的原因是用户使用的浏览器不能完全支持页面里的脚本,该如何解…

html网页运行出现404错误,网页无法进入404错误是什么情况?怎么办? 爱问知识人...

当这些错误得到标准化时,Web服务器处理404错误的方法最终就取决于网络管理员。这就是为什么将其称之为可配置。最为通用的Web服务器软件,Apache,通过位于public_html目录下的小文本文件。htaccess来控制HTTP错误的处理方法。 重定向语法非常简…

502 网页请求返回错误

502错误定义:是网关错误, 通俗点说就是和web服务器通信失败 错误的原因: 1、网络不同, 不能访问web服务器, 有可能断网, 开启了防火墙等, 可以通过ping命令来定位 2、web服务器没有启动…

网页错误代码汇总(整理不易,用心记住)

1xx 信息提示:这些状态代码表示临时的响应。 100 继续101 切换协议 2xx 成功:这类状态代码表明服务器成功地接受了客户端请求。 200 确定201 已创建202 已接受203 非权威信息204 无内容205 重置内容206 部分内容 3xx 重定向:客户端浏览器必…

接口报错500是什么意思_网页打开显示错误500是什么意思

展开全部 网页打开显示错误500主要是由于IWAM账号的密码错误造成的。显示错误500属于页面错误的一e68a84e8a2ad3231313335323631343130323136353331333431343736种。 页面错误指当软件试图读取或写入标记为“不存在”的虚拟内存位置时发生的中断。页面错误记录了一个进程必须从…