新聞中心
### 比較Redis鎖和普通鎖的優(yōu)劣

網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了蒙城免費建站歡迎大家使用!
分布式鎖是在分布式系統(tǒng)中用來處理操作的行為的一種機制,而比較redis鎖和普通鎖的優(yōu)劣,主要就是Redis鎖本質(zhì)上是一種分布式鎖,它有普通鎖所沒有的特性,開發(fā)者可以根據(jù)自己的實際需求選擇合適的鎖SM技術(shù)來實現(xiàn)。
普通鎖基于操作系統(tǒng)的原子操作和搶占內(nèi)存實現(xiàn),一般申請鎖為互斥鎖,速度快,但因為只能在單機上運行,當集群出現(xiàn)負載均衡、故障遷移等情況時,它就不再能夠發(fā)揮作用了。Redis鎖和普通鎖的優(yōu)勢在于,它基于 Redis 另一個比較重要的特性,即支持分布式鎖,并且 Redis 的鎖可以實現(xiàn)多進程之間的讀、寫鎖,而且可以實現(xiàn)鎖的非阻塞、可重入等高級特性;而且,因為 Redis 擁有非常強的持久性,即使系統(tǒng)發(fā)生崩潰,重啟或者網(wǎng)絡故障等情況, Redis 鎖依舊可以實現(xiàn)高可用,基本上不會發(fā)生死鎖。
但是,也存在幾個不足,比如在 Redis 故障時無法持續(xù)使用鎖,并且 Redis 的鎖機制雖然可靠,崩潰時可重入,但是性能上仍然不及普通鎖,一來用戶的時間考驗比較嚴格,同一個鎖需要競爭、釋放多次才能完成;二來,因為網(wǎng)絡不穩(wěn)定,可能使用節(jié)點下線造成 Redis 鎖無法釋放。
相比普通鎖,Redis 鎖具有更可靠的可用性,特別是在分布式情況下,但性能依然不及普通鎖,開發(fā)者可以根據(jù)自己實際情況,選擇合適的鎖策略。
// 普通鎖
synchronized(lock) { // 非阻塞
// 寫操作
}
// redis分布式鎖
String lock = redisTemplate.opsForValue().setIfAbsent(key,value);
if (lock.equals(‘ok’) { // 非阻塞
// 寫操作
redisTemplate.delete(key);
}
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
網(wǎng)站題目:比較Redis鎖和普通鎖的優(yōu)劣(redis鎖和普通鎖)
網(wǎng)頁路徑:http://www.dlmjj.cn/article/cdjghhg.html


咨詢
建站咨詢
