日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Redis怎么實現分布式鎖?

Redis怎么實現分布式鎖?

來源:千鋒教育
發布人:qyf
時間: 2022-09-22 18:06:55 1663841215

Redis怎么實現分布式鎖

  可以使用Redis實現分布式鎖

  redis命令:set users 10 nx ex 12 原子性命令

  示例代碼如下:

//使用uuid,解決鎖釋放的問題
@GetMapping
public void testLock() throws InterruptedException {
String uuid = UUID.randomUUID().toString();
Boolean b_lock = redisTemplate.opsForValue().setIfAbsent("lock", uuid, 10, TimeUnit.SECONDS);
if(b_lock){
Object value = redisTemplate.opsForValue().get("num");
if(StringUtils.isEmpty(value)){
return;
}
int num = Integer.parseInt(value + "");
redisTemplate.opsForValue().set("num",++num);
Object lockUUID = redisTemplate.opsForValue().get("lock");
if(uuid.equals(lockUUID.toString())){
redisTemplate.delete("lock");
}
}else{
Thread.sleep(100);
testLock();
}
}

  備注:可以通過lua腳本,保證分布式鎖的原子性。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 抚州市| 永泰县| 绥化市| 东光县| 耒阳市| 交口县| 潍坊市| 那坡县| 申扎县| 屏东市| 新兴县| 奎屯市| 从化市| 望城县| 澳门| 石景山区| 宁陵县| 开平市| 陈巴尔虎旗| 五莲县| 平顶山市| 广德县| 浏阳市| 湖南省| 滦南县| 江门市| 关岭| 北辰区| 乐陵市| 金坛市| 鲁甸县| 遵义市| 化州市| 水城县| 铁岭县| 湖州市| 望谟县| 米易县| 合江县| 同心县| 湖南省|