中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

html怎么寫廣州網(wǎng)站優(yōu)化服務(wù)商

html怎么寫,廣州網(wǎng)站優(yōu)化服務(wù)商,那些做網(wǎng)站的那些軟件都叫啥,做網(wǎng)站和做網(wǎng)頁的區(qū)別Lock4j 在分布式系統(tǒng)中,實現(xiàn)鎖的功能對于保證數(shù)據(jù)一致性和避免并發(fā)沖突是非常重要的。Lock4j是一個簡單易用的分布式鎖框架,而Redisson是一個功能強大的分布式解決方案,可以與Lock4j進(jìn)行集成。 操作步驟 第一步:添加依賴 首先&…

Lock4j

在這里插入圖片描述

在分布式系統(tǒng)中,實現(xiàn)鎖的功能對于保證數(shù)據(jù)一致性和避免并發(fā)沖突是非常重要的。Lock4j是一個簡單易用的分布式鎖框架,而Redisson是一個功能強大的分布式解決方案,可以與Lock4j進(jìn)行集成。

操作步驟

第一步:添加依賴

首先,在你的Spring Boot項目的pom.xml文件中添加以下依賴:

<dependencies><!--若使用redisTemplate作為分布式鎖底層,則需要引入--><dependency><groupId>com.baomidou</groupId><artifactId>lock4j-redis-template-spring-boot-starter</artifactId><version>${latest.version}</version></dependency><!--若使用redisson作為分布式鎖底層,則需要引入--><dependency><groupId>com.baomidou</groupId><artifactId>lock4j-redisson-spring-boot-starter</artifactId><version>${latest.version}</version></dependency><!--若使用zookeeper作為分布式鎖底層,則需要引入--><dependency><groupId>com.baomidou</groupId><artifactId>lock4j-zookeeper-spring-boot-starter</artifactId><version>${latest.version}</version></dependency>
</dependencies>

這些依賴將會引入Redisson和Lock4j以及它們的必要依賴。

第二步:配置Redis

在src/main/resources目錄下創(chuàng)建application.yml文件,并添加以下配置:

spring:redis:host: 127.0.0.1port: 6379password: ddz123database: 0

這是一個示例配置文件,你需要根據(jù)自己的實際情況修改Redis的連接信息,如地址、端口、密碼等。

第三步:使用@Lock4j注解實現(xiàn)分布式鎖

在你的Spring Boot應(yīng)用程序中,創(chuàng)建一個測試類,用于ApiPost的調(diào)用兩次第一個會獲取到鎖,第二個獲取鎖失敗會拋出異常。

    @GetMapping("/lock")@Lock4j(keys = {"#id"}, acquireTimeout = 100, expire = 10000
//            , executor = RedissonLockExecutor.class)public String getLock(String id) throws InterruptedException {Thread.sleep(10000);return id;}

在這里插入圖片描述

自定義鎖

自定義鎖key的生成規(guī)則

只需要實現(xiàn)LockKeyBuilder接口中 buildKey() 方法即可定義自己的生成規(guī)則。

@Component
public class CustomKeyBuilder implements LockKeyBuilder {/*** 構(gòu)建key** @param invocation     invocation* @param definitionKeys 定義* @return key*/@Overridepublic String buildKey(MethodInvocation invocation, String[] definitionKeys) {// 自定義鎖key的生成策略return null;}
}

自定義鎖失敗策略

實現(xiàn)LockFailureStrategy接口中onLockFailure() 方法即可自定義獲取鎖失敗返回策略。

@Component
public class GrabLockFailureStrategy implements LockFailureStrategy {/*** 鎖失敗事件** @param key       鎖key* @param method    方法* @param arguments 自變量*/@Overridepublic void onLockFailure(String key, Method method, Object[] arguments) {throw new RuntimeException("獲取鎖失敗了!");}
}

自定義加鎖解鎖邏輯

@Component
public class RedissonLockExecutor extends AbstractLockExecutor<RLock> {/*** 加鎖** @param lockKey        鎖標(biāo)識* @param lockValue      鎖值* @param expire         鎖有效時間* @param acquireTimeout 獲取鎖超時時間* @return 鎖信息*/@Overridepublic RLock acquire(String lockKey, String lockValue, long expire, long acquireTimeout) {return null;}/*** 解鎖** <pre>* 為何解鎖需要校驗lockValue* 客戶端A加鎖,一段時間之后客戶端A解鎖,在執(zhí)行releaseLock之前,鎖突然過期了。* 此時客戶端B嘗試加鎖成功,然后客戶端A再執(zhí)行releaseLock方法,則將客戶端B的鎖給解除了。* </pre>** @param key          加鎖key* @param value        加鎖value* @param lockInstance 鎖實例* @return 是否釋放成功*/@Overridepublic boolean releaseLock(String key, String value, RLock lockInstance) {return false;}
}

注意事項

在使用Spring Boot集成Lock4j和Redisson時,需要注意以下事項:

  • 確保Redisson的配置正確。在redisson.yaml文件(或application.properties)中,你需要提供正確的Redis連接信息,如地址、端口、密碼等。確保你的Redis服務(wù)運行正常。
  • 注意鎖的名稱要保證唯一性。不同的鎖需要使用不同的鎖名稱。使用相同名稱的鎖可能會導(dǎo)致不同方法之間的鎖沖突。
  • 考慮對方法異常進(jìn)行處理。為了確保鎖能夠被正確釋放,你可以在方法中使用try-catch-finally結(jié)構(gòu),并在finally塊中釋放鎖。這樣即使方法出現(xiàn)異常,也能保證鎖的守護(hù)不會因異常而中斷。

通過以上步驟和注意事項,你可以輕松地在Spring Boot項目中集成Lock4j,并使用Redisson作為底層實現(xiàn)分布式鎖。這樣,你可以安全地處理分布式系統(tǒng)中的并發(fā)問題,并保證數(shù)據(jù)的一致性。

http://www.risenshineclean.com/news/56937.html

相關(guān)文章:

  • 怎么去跟客戶談網(wǎng)站建設(shè)四川seo優(yōu)化
  • 網(wǎng)站建設(shè)題庫核心關(guān)鍵詞舉例
  • 怎么建設(shè)h5網(wǎng)站怎樣做關(guān)鍵詞排名優(yōu)化
  • 怎么推廣產(chǎn)品最有效短視頻關(guān)鍵詞seo優(yōu)化
  • wordpress無法連接遠(yuǎn)程mysqlseo推廣人員
  • 真正能賺錢的網(wǎng)站app推廣平臺放單平臺
  • 工信部企業(yè)網(wǎng)站認(rèn)證搜索引擎有哪些平臺
  • 怎么做企業(yè)網(wǎng)站一級懸浮菜單一個萬能的營銷方案
  • 河南做網(wǎng)站聯(lián)系電話輿情網(wǎng)站直接打開的軟件
  • 廣東手機(jī)網(wǎng)站建設(shè)價格百度優(yōu)化
  • 做網(wǎng)站是什么工作天津網(wǎng)絡(luò)關(guān)鍵詞排名
  • 北京住房建設(shè)部網(wǎng)站南寧網(wǎng)站推廣大全
  • 新疆做網(wǎng)站哪家公司好廣東培訓(xùn)seo
  • 平臺網(wǎng)站兼職做sap關(guān)鍵詞優(yōu)化推廣排名多少錢
  • 投票活動網(wǎng)站怎么做seo學(xué)徒招聘
  • 廣告牌的樣式大全福清市百度seo
  • 天津營銷網(wǎng)站建設(shè)公司哪家好虎撲體育網(wǎng)體育
  • 499元做網(wǎng)站微信營銷技巧
  • 珠海市網(wǎng)站建設(shè)開發(fā)公司海南百度推廣公司
  • 網(wǎng)站建設(shè)的欄目百度推廣一個月費用
  • 畢業(yè)設(shè)計網(wǎng)站做啥長沙建設(shè)網(wǎng)站制作
  • 如何建立一個網(wǎng)站放視頻適合小學(xué)生的新聞事件
  • 做二手網(wǎng)站有哪些2021百度熱搜年度榜
  • 佛山高端網(wǎng)站建設(shè)比較火的推廣軟件
  • 專業(yè)網(wǎng)站制作技術(shù)程序員培訓(xùn)機(jī)構(gòu)哪家好
  • 海安建設(shè)局網(wǎng)站刷評論網(wǎng)站推廣
  • 寧波趨勢信息科技有限公司網(wǎng)站seo排名優(yōu)化工具在線
  • 微信小程序萬能開掛器seo營銷推廣服務(wù)公司
  • wordpress不跳轉(zhuǎn)網(wǎng)站快速排名優(yōu)化價格
  • 水利部精神文明建設(shè)指導(dǎo)委員會網(wǎng)站免費關(guān)鍵詞挖掘網(wǎng)站