【Redis】---redis分布式锁

本文介绍了Redis作为分布式锁的实现方式,从早期的setnx+expire到set方法,再到Redisson实现的Redlock算法。重点讨论了加锁、解锁的原子性,value的唯一性以及Redisson的看门狗机制解决锁过期问题,确保分布式环境下的资源访问安全性。
摘要由CSDN通过智能技术生成

一、分布式锁前言

在单机多线程环境下,为了保证一个代码块在同一时间只能一个线程访问,可以使用synchronized或ReentrantLock实现本地锁。
在分布式架构下,需要使用分布式锁控制分布式系统间互斥访问共享资源。分布式锁实现方式常见有:
基于数据库;
基于redis;
基于zookeeper。
----下面重点介绍redis分布式锁。将从最基本redis的方法实现分布式锁一直到最佳的redisson分布式锁。
使用redis分布式锁关键是加锁+解锁两个过程

二、setnx+expire实现分布式锁

在早期Redis版本是没有set()方法,我们也是可以使用setnx+expire来实现分布式锁功能。

2.1、 setnx+expire基本思路及存在问题

单纯使用setnx+expire的思路如下:

        Long re = jedisCacheUtil
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DreamBoy_W.W.Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值