欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Redis——分布式锁

Redis——分布式锁

2025/6/6 15:11:23 来源:https://blog.csdn.net/m0_73731267/article/details/142260950  浏览:    关键词:Redis——分布式锁

基本原理

分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁

为什么要有分布式锁?

在只有一台服务器提供服务的情况下,乐观锁和悲观锁足以解决线程并发导致的问题。但是企业开发中避免不了需要部署多台服务器,即采用分布式系统或集群模式,这时,多台服务器就有多个jvm,对应多个锁监视器,它们之间是独立了,服务器之间的线程并不会共享锁信息,此时很可能会出现并发问题,很容易想到一个解决办法就是将让所有线程共享一个锁监视器,这就是我们分布式锁的基本思路。

核心思想

分布式锁的核心思想就是让大家都使用同一把锁,这样我们就可以不让线程并行,而是让程序串行执行
在这里插入图片描述

分布式锁应该满足的特点

  • 高可用性
  • 多线程可见
  • 互斥
  • 高性能
  • 安全性
    在这里插入图片描述

常见的分布式锁

在这里插入图片描述
不同的分布式锁有不同的特点,对应不同的应用场景,没有绝对的优劣之分,我们要根据不同场景选择合适的分布式锁。

Redis中分布式锁的实现方式

实现分布式锁时需要实现的两个基本方法:

  • 获取锁:

    • 互斥:确保只能有一个线程获取锁
    • 非阻塞:尝试一次,成功返回true,失败返回false
  • 释放锁:

    • 手动释放
    • 超时释放:获取锁时添加一个超时时间
      在这里插入图片描述

版权声明:

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

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

热搜词