Redis-问题-分布式锁

1,问题描述

    随着业务发展的需要,原单体单机部署的系统被演变化为集群系统后,由于分布式系统多线程、多进程并且分布在不同的机器上,这将使原单机部署情况下的并发控制锁策略失效,

 

  单纯的JAVA API并不能提供分布式锁的功能,为了解决这个问题就需要一种跨 JVM 的互斥机制共享资源的问题,这就是分布式锁要解决的问题。

 

  分布式锁的主流解决方案:

  1)基于数据库实现分布式锁

  2)基于缓存(redis 等)

  3)基于 Zookeeper

  每一种解决方案都有各自的优缺点:

  1)性能:redis最高

  2)可靠性:zookeeper最可靠

 

 

2,基于redis实现分布式锁

  1)用setnx设置锁,用del删除key释放锁

posted @ 2022-02-23 16:59  danny522  阅读(33)  评论(0)    收藏  举报