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

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


咨詢
建站咨詢
