使用Redisson工具實現(xiàn)分布式鎖

上一篇 <<<Redis分布式鎖的實現(xiàn)代碼示例
下一篇 >>>Redis集群模式之主從復制原理及存在的缺陷


1、引入redisson依賴包

<dependency>
    <groupId>org.redisson</groupId>
    <artifactId>redisson-spring-boot-starter</artifactId>
    <version>3.11.0</version>
</dependency>

2铝宵、增加配置文件

redisson.singleServerConfig.address=127.0.0.1:6379

3、Redisson實現(xiàn)分布式鎖

@GetMapping("/seckill")
public synchronized String seckill() throws InterruptedException {
    RLock seckillLock = redissonClient.getLock("seckillLock");
    try {
        seckillLock.tryLock(3, TimeUnit.SECONDS);
        String stock = stringRedisTemplate.opsForValue().get("Stock");
        int nStock = Integer.valueOf(stock) - 1;
        if (nStock > 0) {
            //成功秒殺到
            nStock = Integer.valueOf(stock) - 1;
            stringRedisTemplate.opsForValue().set("Stock", nStock + "");
            System.out.println("成功秒殺商品了炕淮,還剩余商品:" + nStock);
            return "恭喜您缠借,下單成功";
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        seckillLock.unlock();
    }
    System.out.println("商品庫存不足");
    return "當前庫存不足";
}

4干毅、getLock和tryLock的區(qū)別

tryLock(long time, TimeUnit unit)方法和tryLock()方法是類似的,只不過區(qū)別在于這個方法在拿不到鎖時會等待一定的時間泼返,在時間期限之內如果還拿不到鎖硝逢,就返回false。如果一開始拿到鎖或者在等待期間內拿到了鎖绅喉,則返回true渠鸽。


推薦閱讀:
<<<分布式緩存與本地緩存的區(qū)別
<<<Ehcache基礎知識
<<<SpringBoot整合Ehcache
<<<Redis的5種數(shù)據(jù)類型
<<<Redis存放實體對象的方式及區(qū)別
<<<Redis的應用場景匯總
<<<Redis高效及線程安全的真正原因
<<<Redis為啥要分為16個庫
<<<RDB和AOF持久化方式的區(qū)別
<<<Redis與數(shù)據(jù)庫的一致性解決方案
<<<SpringBoot整合Redis的注解版本完成數(shù)據(jù)緩存
<<<Redis的淘汰策略
<<<Redis的事務操作(Mult和Watch)知識點
<<<Redis的過期機制使用場景示例
<<<Redis實現(xiàn)分布式鎖的原理分析
<<<Redis分布式鎖的實現(xiàn)代碼示例
<<<Redis集群模式之主從復制原理及存在的缺陷
<<<Redis集群模式之哨兵模式
<<<Redis集群模式之Cluster去中心化分片集群
<<<Linux環(huán)境下安裝單機Redis
<<<Redis Cluster集群環(huán)境搭建
<<<Redis Cluster如何動態(tài)擴容與縮容
<<<Redis Cluster主從節(jié)點自動切換
<<<Redis集群模式的類型和缺陷匯總
<<<Redis緩存的穿透、擊穿和雪崩效應
<<<Redis解決穿透擊穿問題時使用的布隆過濾器知識點
<<<Redis與MySQL的數(shù)據(jù)同步解決方案
<<<阿里云的Canal框架實現(xiàn)Redis與Mysql同步原理及代碼示例
<<<阿里云的Canal框架配置
<<<Redis官方提出的redlock分布式鎖
<<<Redis的調優(yōu)設置
<<<Redis常見問題匯總

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末柴罐,一起剝皮案震驚了整個濱河市徽缚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌革屠,老刑警劉巖凿试,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異似芝,居然都是意外死亡红省,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門国觉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吧恃,“玉大人,你說我怎么就攤上這事麻诀『墼ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵蝇闭,是天一觀的道長呻率。 經(jīng)常有香客問我,道長呻引,這世上最難降的妖魔是什么礼仗? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮逻悠,結果婚禮上元践,老公的妹妹穿的比我還像新娘。我一直安慰自己童谒,他們只是感情好单旁,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著饥伊,像睡著了一般象浑。 火紅的嫁衣襯著肌膚如雪蔫饰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天愉豺,我揣著相機與錄音篓吁,去河邊找鬼。 笑死蚪拦,一個胖子當著我的面吹牛杖剪,可吹牛的內容都是我干的。 我是一名探鬼主播外盯,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼翼雀!你這毒婦竟也來了饱苟?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤狼渊,失蹤者是張志新(化名)和其女友劉穎箱熬,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狈邑,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡城须,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了米苹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糕伐。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蘸嘶,靈堂內的尸體忽然破棺而出良瞧,到底是詐尸還是另有隱情,我是刑警寧澤训唱,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布褥蚯,位于F島的核電站,受9級特大地震影響况增,放射性物質發(fā)生泄漏赞庶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一澳骤、第九天 我趴在偏房一處隱蔽的房頂上張望歧强。 院中可真熱鬧,春花似錦为肮、人聲如沸誊锭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丧靡。三九已至蟆沫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間温治,已是汗流浹背饭庞。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留熬荆,地道東北人舟山。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像卤恳,于是被迫代替她去往敵國和親累盗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內容

  • 本項目基于springboot+ spring-boot-starter-data-redis+redisson ...
    靈_芝閱讀 5,847評論 1 3
  • 微服務項目中,很多資源需要互斥使用拆融,比如一些分布式任務蠢琳,比如下單的處理,退貨的處理等等镜豹。這些都需要用到借助分布式鎖...
    梅西愛騎車閱讀 2,300評論 0 8
  • 分布式鎖在分布式應用場景我覺得是不可缺少的一部分傲须,比如我們分布式系統(tǒng)中有倆個訂單系統(tǒng),那么如果2個用戶同時去購買最...
    后山人灬閱讀 569評論 1 2
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月趟脂,有人笑有人哭泰讽,有人歡樂有人憂愁,有人驚喜有人失落昔期,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,536評論 28 53
  • 信任包括信任自己和信任他人 很多時候菇绵,很多事情,失敗镇眷、遺憾咬最、錯過,源于不自信欠动,不信任他人 覺得自己做不成永乌,別人做不...
    吳氵晃閱讀 6,190評論 4 8