Redisson實現分布式鎖


自己手動實現分布式加鎖

//1、獲取一把鎖,只要鎖的名字一樣,就是同一把鎖
RLock lock = redisson.getLock("my-lock");
//2、加鎖
lock.lock();//阻塞式等待
try{
    System.out.println("加鎖成功,執行業務。。。"+Thread.currentThread().getId());
    Thread.sleep(3000);
}catch(Exception e){
    
}finally{
    //3、解鎖
    System.out.println("釋放鎖。。。"+Thread.currentThread().getId());
    lock.unlock();
}

可以看到Redisson加鎖和我們之前手動加鎖的操作一樣,需要保證KEY值唯一

Redisson即使沒有手動解鎖,Redisson也會自動刪鎖,
1、Redisson解決了鎖的自動續期,如果業務超長,運行期間會自動給鎖續上新的30s,不用擔心業務時間長,鎖自動過期被刪掉,默認加的鎖都是30s。
2、加鎖的業務只要運行完成,就不會給當前鎖續期,即使不手動解鎖,鎖默認在30s以后自動刪除,就解決了在高並發場景下的一些問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM