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

分布式锁-redission

5、分布式锁-redission

5.1 分布式锁-redission功能介绍

基于setnx实现的分布式锁存在下面的问题:

重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,比如HashTable这样的代码中,他的方法都是使用synchronized修饰的,假如他在一个方法内,调用另一个方法,那么此时如果是不可重入的,不就死锁了吗?所以可重入锁他的主要意义是防止死锁,我们的synchronized和Lock锁都是可重入的。

不可重试:是指目前的分布式只能尝试一次,我们认为合理的情况是:当线程在获得锁失败后,他应该能再次尝试获得锁。

**超时释放:**我们在加锁时增加了过期时间,这样的我们可以防止死锁,但是如果卡顿的时间超长,虽然我们采用了lua表达式防止删锁的时候,误删别人的锁,但是毕竟没有锁住,有安全隐患

主从一致性: 如果Redis提供了主从集群,当我们向集群写数据时,主机需要异步的将数据同步给从机,而万一在同步过去之前,主机宕机了,就会出现死锁问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么什么是Redission呢

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

Redission提供了分布式锁的多种多样的功能

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

http://www.lryc.cn/news/336413.html

相关文章:

  • C/C++ 自定义头文件,及头文件结构详解
  • 快速列表quicklist
  • 《MATLAB科研绘图与学术图表绘制从入门到精通》
  • Day3-struct类型、列转行、行转列、函数
  • C++设计模式:构建器模式(九)
  • OJ 【难度1】【Python】完美字符串 扫雷 A-B数对 赛前准备 【C】精密计时
  • 【Tars-go】腾讯微服务框架学习使用01--初始化服务
  • 通过pre标签进行json格式化展示,并实现搜索高亮和通过鼠标进行逐个定位的功能
  • 5分钟了解清楚【osgb】格式的倾斜摄影数据metadata.xml有几种规范
  • CCIE-10-IPv6-TS
  • 《QT实用小工具·十七》密钥生成工具
  • CSP 比赛经验分享
  • 探究“大模型+机器人”的现状和未来
  • Commitizen:规范化你的 Git 提交信息
  • 官网下载IDE插件并导入IDE
  • 三行命令解决Ubuntu Linux联网问题
  • AI大模型在自然语言处理中的应用:性能表现和未来趋势
  • 三防平板定制服务:亿道信息与个性化生产的紧密结合
  • 【备战蓝桥杯】2024蓝桥杯赛前突击省一:基础数论篇
  • golang es查询的一些操作,has_child,inner_hit,对索引内父子文档的更新
  • 精准备份:如何自动化单个MySQL数据库的备份过程
  • Green Hills 自带的MULTI调试器查看R7芯片寄存器
  • Jupyter Notbook如何安装配置并结合内网穿透实现无公网IP远程连接使用
  • LightM-UNet:Mamba 辅助的轻量级 UNet 用于医学图像分割
  • 探索 Java 网络爬虫:Jsoup、HtmlUnit 与 WebMagic 的比较分析
  • day16 java object中equals、finalize、
  • 如何应用电桥电路的原理?
  • 大话设计模式——24.迭代器模式(Iterator Pattern)
  • 【数据结构】双向链表 C++
  • 消息队列之-----------------zookeeper机制