page contents

redis 怎么实现分布式锁?

Pack 发布于 2020-03-12 11:02
阅读 1421
收藏 0
分类:nosql缓存

分布式锁一般有三种实现方式:

1. 数据库乐观锁;

2. 基于Redis的分布式锁;

3. 基于ZooKeeper的分布式锁。

529
Pack
Pack

原理的话简单说就是这样:首先redis是单进程单线程的,这个很好理解,api逐个执行,不存在并行,所以它的操作是原子性的。

但光有原子性,还不能做分布式锁,因为很多业务是多个原子性操作放在一起完成一次业务,并不是某一个原子性处理操作就能完成,有时候还需要面对各种情况(如超时怎么处理)。所以这个时候有了redisson,redisson就是利用redis的原子性实现锁功能的。具体可以看看redisson的文章,或直接看源码。

请先 登录 后评论