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

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

总时长 42:48:00 共175P

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


分布式锁的优化

在这里插入图片描述

在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. 修改之前的配置代码
    在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值