-
概述
在單機情況下,我們知道也是存在鎖的概念,但是那些鎖在分佈式情況下就沒用了,因爲不是內存共享的,沒辦法通信,所以我們要學習分佈式鎖,主要有三種實現方式 ,分別基於redis,mysql,zookeeper -
redis分佈式鎖
<dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.11.4</version> </dependency>
public class RedissionTest { private static RedissonClient redisson; static { Config config = new Config(); //config.setTransportMode(TransportMode.EPOLL); config.useSingleServer().setAddress("redis://127.0.0.1:6379"); redisson = Redisson.create(config); } public static void main(String[] args) { RLock wxx = redisson.getLock("wxx"); wxx.lock(); //wxx.unlock(); } }
說明: 作爲curd boy 直接使用解決方案的框架redission就可以了,引入相關jar包,將配置配置好創建redisson對象,就可以像使用JDK的鎖一樣使用了。其實我們也可以調用redis自己實現,但是有時間過期的問題,以及獲取鎖失敗的線程需要緩存下來等待等問題要解決。redission這個框架幫我們做了這些,所以大可放心使用。
分佈式學習筆記之分佈式鎖
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.