实战:分布式锁详解与代码
生活随笔
收集整理的這篇文章主要介紹了
实战:分布式锁详解与代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是鎖?
鎖是一種常用的并發控制機制,用于保證一項資源在任何時候只能被一個線程使用,如果其他線程也要使用同樣的資源,必須排隊等待上一個線程使用完。
鎖的示意圖,如下所示:
什么是分布式鎖?
上面說的鎖指的是程序級別的鎖,例如 Java 語言中的 synchronized 和 ReentrantLock 在單應用中使用不會有任何問題,但如果放到分布式環境下就不適用了,這個時候我們就要使用分布式鎖。
分布式鎖比較好理解就是用于分布式環境下并發控制的一種機制,用于控制某個資源在同一時刻只能被一個應用所使用。
分布式鎖示意圖,如下所示:
怎么實現分布式鎖?
分布式鎖比較常見的實現方式有三種:
本文要重點來說的是第三種,也就是 Redis 分布式鎖的實現方式。
Redis 分布式鎖的實現思路是使用 setnx(set if not exists),如果創建成功則表明此鎖創建成功,否則代表這個鎖
總結
以上是生活随笔為你收集整理的实战:分布式锁详解与代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 案例:Redis 问题汇总和相关解决方案
- 下一篇: 熬夜都要看完的 Spring 干货!