分佈式學習筆記之分佈式鎖

  • 概述
    在單機情況下,我們知道也是存在鎖的概念,但是那些鎖在分佈式情況下就沒用了,因爲不是內存共享的,沒辦法通信,所以我們要學習分佈式鎖,主要有三種實現方式 ,分別基於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這個框架幫我們做了這些,所以大可放心使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章