?????作者名稱(chēng):DaenCode
??作者簡(jiǎn)介:啥技術(shù)都喜歡搗鼓搗鼓,喜歡分享技術(shù)、經(jīng)驗(yàn)、生活。
??人生感悟:嘗盡人生百味,方知世間冷暖。
??所屬專(zhuān)欄:SpringBoot實(shí)戰(zhàn)
系列文章目錄
以下是專(zhuān)欄部分內(nèi)容,更多內(nèi)容請(qǐng)前往專(zhuān)欄查看!
標(biāo)題 |
---|
一文帶你學(xué)會(huì)使用SpringBoot+Avue實(shí)現(xiàn)短信通知功能(含重要文件代碼) |
一張思維導(dǎo)圖帶你學(xué)會(huì)Springboot創(chuàng)建全局異常、自定義異常 |
一張思維導(dǎo)圖帶你打通SpringBoot自定義攔截器的思路 |
28個(gè)SpringBoot項(xiàng)目中常用注解,日常開(kāi)發(fā)、求職面試不再懵圈 |
一張思維導(dǎo)圖帶你學(xué)會(huì)SpringBoot、Vue前后端分離項(xiàng)目線上部署 |
一張流程圖帶你學(xué)會(huì)SpringBoot結(jié)合JWT實(shí)現(xiàn)登錄功能 |
一張思維導(dǎo)圖帶你學(xué)會(huì)使用SpringBoot中的Schedule定時(shí)發(fā)送郵件 |
一張思維導(dǎo)圖帶你學(xué)會(huì)使用SpringBoot異步任務(wù)實(shí)現(xiàn)下單校驗(yàn)庫(kù)存 |
一張思維導(dǎo)圖帶你學(xué)會(huì)SpringBoot使用AOP實(shí)現(xiàn)日志管理功能 |
專(zhuān)欄推薦
- 專(zhuān)門(mén)為Redis入門(mén)打造的專(zhuān)欄,包含Redis基礎(chǔ)知識(shí)、基礎(chǔ)命令、五大數(shù)據(jù)類(lèi)型實(shí)戰(zhàn)場(chǎng)景、key刪除策略、內(nèi)存淘汰機(jī)制、持久化機(jī)制、哨兵模式、主從復(fù)制、分布式鎖等等內(nèi)容。
鏈接>>>>>>>>>
《Redis從頭學(xué)》 - 專(zhuān)門(mén)為RabbitMQ入門(mén)打造的專(zhuān)欄,持續(xù)更新中。。。。。。。。
鏈接>>>>>>>
《圖解RabbitMQ》
Redisson官方中文文檔:https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95
??引入依賴(lài)
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.10.1</version>
</dependency>
??配置文件
spring:
redis:
host: ip
password: 密碼
port: 端口號(hào)
??Redisson配置類(lèi)
@Data
@Configuration
public class RedissonConfig {
@Value("${spring.redis.host}")
private String redisHost;
@Value("${spring.redis.port}")
private String redisPort;
@Value("${spring.redis.password}")
private String redisPassword;
@Bean
public RedissonClient redissonClient(){
//創(chuàng)建配置
Config config=new Config();
config.useSingleServer()
.setPassword(redisPassword)
.setAddress("redis://"+redisHost+":"+redisPort)
.setPingConnectionInterval(1000);
//創(chuàng)建客戶(hù)端
RedissonClient redissonClient= Redisson.create(config);
return redissonClient;
}
}
??使用
String lockKey="user:coupon:"+couponId;
RLock lock = redissonClient.getLock(lockKey);
lock.lock();
try{
//業(yè)務(wù)邏輯
}finally{
lock.unlock
}
??注意事項(xiàng)
其加鎖API有兩個(gè),一個(gè)是lock無(wú)任何參數(shù);一個(gè)是要顯式指明解鎖時(shí)間。
看門(mén)狗機(jī)制:在redisson實(shí)例關(guān)閉前,不斷的延長(zhǎng)鎖的有效期。
- 默認(rèn)情況下,不顯式設(shè)置鎖過(guò)期時(shí)間,看門(mén)狗檢查鎖的超時(shí)時(shí)間是30秒;或者通過(guò)Config.lockWatchdogTimeout來(lái)進(jìn)行指定。
- 如果顯式的指定了鎖過(guò)期時(shí)間,則無(wú)看門(mén)狗,并且無(wú)需手動(dòng)釋放鎖。
??寫(xiě)在最后
有關(guān)于SpringBoot結(jié)合Redisson實(shí)現(xiàn)分布式鎖到此就結(jié)束了。感謝大家的閱讀,希望大家在評(píng)論區(qū)對(duì)此部分內(nèi)容散發(fā)討論,便于學(xué)到更多的知識(shí)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-714914.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-714914.html
到了這里,關(guān)于SpringBoot結(jié)合Redisson實(shí)現(xiàn)分布式鎖的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!