最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redisson鎖tryLock的正確使用方式

 更新時間:2023年12月07日 10:07:28   作者:小螞蟻hjk  
這篇文章主要介紹了redisson鎖tryLock的正確使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

redisson鎖tryLock的使用

方式一

RLock lock = redissonClient.getLock("Export:create:" + Context.get().getCorpId());
try {
    if (lock.tryLock(5, 10, TimeUnit.SECONDS)) {
        //業(yè)務(wù)處理
    } else {
        Assert.isTrue(false, "排隊中,請稍后重試!");
    }
} catch (InterruptedException e) {
    Assert.isTrue(false, "請勿重復(fù)操作!");
} finally {
    if (lock.isLocked()) {
        lock.unlock();
    }
}

方式二

RLock lock = redisson.getLock(String.format(REWARD_CARD_LOCK_KEY, 2));

try {

//嘗試加鎖,最多等待10秒,上鎖以后10秒自動解鎖

if (lock.tryLock(10,10, TimeUnit.SECONDS)) {

try {

//處理

logger.info("tryLock thread---{}, lock:{}", Thread.currentThread().getId(), lock);

} catch (Exception e) {

} finally {

//解鎖

lock.unlock();

}

}

} catch (InterruptedException e) {

//處理

//保留中斷發(fā)生的證據(jù),以便調(diào)用棧中更高層的代碼能知道中斷,并對中斷作出響應(yīng) Thread.currentThread().interrupt();

}

public void testReentrantLock(RedissonClient redisson){
RLock lock = redisson.getLock("anyLock");
try{
// 1. 最常見的使用方法
//lock.lock();
// 2. 支持過期解鎖功能,10秒鐘以后自動解鎖, 無需調(diào)用unlock方法手動解鎖
//lock.lock(10, TimeUnit.SECONDS);
// 3. 嘗試加鎖,最多等待3秒,上鎖以后10秒自動解鎖
boolean res = lock.tryLock(3, 10, TimeUnit.SECONDS);
if(res){ //成功
// do your business
}
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
lock.unlock();
}
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Redis 緩存刪除機制(源碼解析)

    詳解Redis 緩存刪除機制(源碼解析)

    這篇文章主要介紹了Redis 緩存刪除機制(源碼解析),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Redis Cluster Pipeline導(dǎo)致的死鎖問題解決

    Redis Cluster Pipeline導(dǎo)致的死鎖問題解決

    本文主要介紹了Redis Cluster Pipeline導(dǎo)致的死鎖問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • 從原理到實踐分析?Redis?分布式鎖的多種實現(xiàn)方案

    從原理到實踐分析?Redis?分布式鎖的多種實現(xiàn)方案

    在分布式系統(tǒng)中,為了保證多個進程或線程之間的數(shù)據(jù)一致性和正確性,需要使用鎖來實現(xiàn)互斥訪問共享資源,然而,使用本地鎖在分布式系統(tǒng)中存在問題,這篇文章主要介紹了從原理到實踐分析?Redis?分布式鎖的多種實現(xiàn)方案,需要的朋友可以參考下
    2024-07-07
  • Redis中原子性操作的的實現(xiàn)

    Redis中原子性操作的的實現(xiàn)

    本文主要介紹了Redis的原子性操作,包括其單線程模型和命令隊列機制,原子性的邊界,及通過事務(wù)和Lua腳本實現(xiàn)多命令的原子性,具有一定的參考價值,感興趣的可以了解一下
    2025-11-11
  • redis客戶端連接錯誤 NOAUTH Authentication required

    redis客戶端連接錯誤 NOAUTH Authentication required

    本文主要介紹了redis客戶端連接錯誤 NOAUTH Authentication required,詳細的介紹了解決方法,感興趣的可以了解一下
    2021-07-07
  • mac下設(shè)置redis開機啟動方法步驟

    mac下設(shè)置redis開機啟動方法步驟

    這篇文章主要介紹了mac下設(shè)置redis開機啟動,本文詳細的給出了操作步驟,需要的朋友可以參考下
    2015-07-07
  • 基于Redis實現(xiàn)搶紅包和發(fā)紅包功能

    基于Redis實現(xiàn)搶紅包和發(fā)紅包功能

    搶紅包是我們生活常用的社交功能, 這個功能最主要的特點就是用戶的并發(fā)請求高, 在系統(tǒng)設(shè)計上, 可以使用非常多的辦法來扛住用戶的高并發(fā)請求, 在本文中簡要介紹使用Redis緩存中間件來實現(xiàn)搶紅包算法,需要的朋友可以參考下
    2024-04-04
  • Redis分布式鎖解決超賣問題的使用示例

    Redis分布式鎖解決超賣問題的使用示例

    超賣問題通常出現(xiàn)在多用戶并發(fā)操作的情況下,即多個用戶嘗試購買同一件商品,導(dǎo)致商品庫存不足或者超賣,本文就來介紹一下超賣問題,感興趣的可以了解一下
    2023-09-09
  • 深入理解Redis 延遲監(jiān)控的項目實踐

    深入理解Redis 延遲監(jiān)控的項目實踐

    本文主要介紹了Redis 延遲監(jiān)控,它通過事件鉤子記錄和存儲時間序列數(shù)據(jù),幫助用戶精確回放和分析延遲事件,具有一定的參考價值,感興趣的可以了解一下
    2025-11-11
  • redis緩存延時雙刪的原因分析

    redis緩存延時雙刪的原因分析

    延時雙刪就是在增刪改某實體類的時候,要對該實體類的緩存進行清空,清空的位置在數(shù)據(jù)庫操作方法的前后,這篇文章主要介紹了redis緩存為什么要延時雙刪,需要的朋友可以參考下
    2022-08-08

最新評論

乡宁县| 辛集市| 皋兰县| 山东省| 阿尔山市| 伊金霍洛旗| 扎赉特旗| 普安县| 嘉禾县| 深州市| 西乌| 连平县| 永吉县| 华坪县| 无锡市| 扎囊县| 鄂托克前旗| 洪雅县| 冀州市| 怀仁县| 淮滨县| 波密县| 涞水县| 古田县| 洛隆县| 河西区| 集贤县| 海丰县| 开平市| 温宿县| 顺昌县| 英德市| 吉安市| 临澧县| 名山县| 汶上县| 昂仁县| 平阴县| 南宁市| 伊春市| 福贡县|