欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > redis学习(016 实战:黑马点评:分布式锁:Redisson)

redis学习(016 实战:黑马点评:分布式锁:Redisson)

2025/9/27 21:38:59 来源:https://blog.csdn.net/wang_book/article/details/142492592  浏览:    关键词:redis学习(016 实战:黑马点评:分布式锁:Redisson)

黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目

总时长 42:48:00 共175P

此文章包含第64p-第p68的内容


文章目录

    • 分布式锁的优化
    • Redission操作
      • 编写代码
    • Redission可以实现可重入锁的原理
      • lua脚本编写可重入锁
        • 获取锁脚本
        • 释放锁脚本
      • 测试 单元测试
      • 源码
        • 获取锁
        • 释放锁
    • 锁重试&看门狗
    • 主从一致性
      • 测试

分布式锁的优化

在这里插入图片描述

在redis基础上实现的一个分布式工具的集合
在这里插入图片描述
它的github首页
在这里插入图片描述
看一下wiki
在这里插入图片描述
在这里插入图片描述

Redission操作

这里是单集群的redis,所以是useSingleServer 也可以配置集群的
在这里插入图片描述

在这里插入图片描述

编写代码

  1. 添加依赖
    在这里插入图片描述

  2. 创建配置类
    在这里插入图片描述
    在这里插入图片描述

  3. 修改之前的代码
    在这里插入图片描述

在这里插入图片描述

如果写无参的话会使用默认值
参数1:-1代表不等待(失败了不重试,直接返回),(如果是5 代表5秒内失败了可以去重试)
参数2:30 代表30秒之后如果没解开 就自动解锁避免死锁
参数3: 秒
在这里插入图片描述
使用无参
在这里插入图片描述

测试200个请求
在这里插入图片描述

测试通过 只加入了1条
在这里插入图片描述

Redission可以实现可重入锁的原理

在这里插入图片描述

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

在这里插入图片描述

锁的重入
在这里插入图片描述
在这里插入图片描述

lua脚本编写可重入锁

获取锁脚本

(hincrby自增)
在这里插入图片描述

在这里插入图片描述

释放锁脚本

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

测试 单元测试

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述
锁被删除
在这里插入图片描述

在这里插入图片描述

源码

获取锁

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

释放锁

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
nil就是null

锁重试&看门狗

在这里插入图片描述
传入等待时间和单位
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

主从一致性

在这里插入图片描述

主节点一般是写操作(增删改) 从节点一般是读操作(查)

在这里插入图片描述

在这里插入图片描述
主节点发生故障
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

测试

这里我们用docker创建3个主节点进行测试(形成连锁)
在这里插入图片描述

  1. 修改之前的配置代码
    在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词