欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis中的延遲雙刪

 更新時(shí)間:2024年04月22日 08:40:58   作者:_OLi_  
這篇文章主要介紹了Redis中的延遲雙刪問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

什么是延遲雙刪?

做法:先刪除redis,再更新數(shù)據(jù)庫(kù),延遲N秒后再刪除一次redis。

延遲雙刪策略是分布式系統(tǒng)中數(shù)據(jù)庫(kù)存儲(chǔ)和緩存數(shù)據(jù)保持最終一致性的常用策略,但它不是強(qiáng)一致。

其實(shí)不管哪種方案,都避免不了Redis存在臟數(shù)據(jù)的問(wèn)題,只能減輕這個(gè)問(wèn)題,要想徹底解決,得要用到同步鎖和對(duì)應(yīng)的業(yè)務(wù)邏輯層面解決。

在更新數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí),需要同步redis中緩存的數(shù)據(jù),存在兩種方法:

第一種方案

先更新數(shù)據(jù)庫(kù),再刪除redis。

存在的問(wèn)題:當(dāng)請(qǐng)求1執(zhí)行完更新數(shù)據(jù)庫(kù)操作后,還未來(lái)得及刪除redis,此時(shí)請(qǐng)求2查詢(xún)到并使用了redis中的舊數(shù)據(jù)。

第二種方案

先刪除redis,再更新數(shù)據(jù)庫(kù)。

存在的問(wèn)題:當(dāng)請(qǐng)求1執(zhí)行完刪除redis后,還未進(jìn)行更新數(shù)據(jù)庫(kù)操作,此時(shí)請(qǐng)求2查詢(xún)到了數(shù)據(jù)庫(kù)的舊數(shù)據(jù)并寫(xiě)入了redis。

所以需要先刪除redis,再更新數(shù)據(jù)庫(kù),延遲N秒后再刪除一次redis。

延時(shí)雙刪可能會(huì)導(dǎo)致的問(wèn)題?

在低并發(fā)的情況下,可以通過(guò)加鎖的方式來(lái)達(dá)成雙寫(xiě)一致性。

但是高并發(fā)的情況下,刪除緩存必然會(huì)造成緩存擊穿的問(wèn)題,其實(shí)緩存擊穿影響不大,因?yàn)槟芙鉀Q, 主要是延遲雙刪的第一次刪除可能沒(méi)什么意義。

因?yàn)樵诰彺娴谝淮蝿h除舊數(shù)據(jù)后,數(shù)據(jù)庫(kù)還沒(méi)有完成更新時(shí),請(qǐng)求到來(lái)時(shí)直接請(qǐng)求數(shù)據(jù)庫(kù),返回的還是舊數(shù)據(jù)并添加到了緩存中,相當(dāng)于又回到了緩存第一次刪除之前的狀態(tài),都是緩存的舊數(shù)據(jù)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • caffeine_redis自定義二級(jí)緩存

    caffeine_redis自定義二級(jí)緩存

    這篇文章詳細(xì)介紹了caffeine_redis 自定義二級(jí)緩存,文中有相關(guān)的背景前提與出現(xiàn)的問(wèn)題,感興趣的同學(xué)可以參考一下
    2023-04-04
  • 命令行清除Redis緩存的實(shí)現(xiàn)

    命令行清除Redis緩存的實(shí)現(xiàn)

    本文主要介紹了命令行清除Redis緩存的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 深入了解Redis的看門(mén)狗機(jī)制

    深入了解Redis的看門(mén)狗機(jī)制

    Redis鎖的延期機(jī)制,通常被稱(chēng)為看門(mén)狗機(jī)制,本文就拉介紹一下Redis的看門(mén)狗機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Redis過(guò)期鍵刪除策略解讀

    Redis過(guò)期鍵刪除策略解讀

    Redis通過(guò)惰性刪除策略和定期刪除策略來(lái)管理過(guò)期鍵,惰性刪除策略在鍵被訪(fǎng)問(wèn)時(shí)檢查是否過(guò)期并刪除,節(jié)省CPU開(kāi)銷(xiāo)但可能導(dǎo)致過(guò)期鍵滯留,定期刪除策略定期掃描并刪除過(guò)期鍵,保證數(shù)據(jù)庫(kù)干凈但可能影響性能,Redis默認(rèn)同時(shí)使用兩種策略
    2025-01-01
  • 關(guān)于在Redis中使用Pipelining加速查詢(xún)的問(wèn)題

    關(guān)于在Redis中使用Pipelining加速查詢(xún)的問(wèn)題

    這篇文章主要介紹了在Redis中使用Pipelining加速查詢(xún),Redis是一個(gè)client-server模式的TCP服務(wù),也被稱(chēng)為Request/Response協(xié)議的實(shí)現(xiàn),本文通過(guò)一個(gè)例子給大家詳細(xì)介紹,感興趣的朋友一起看看吧
    2022-05-05
  • Redis過(guò)期事件監(jiān)聽(tīng)器的完整實(shí)現(xiàn)步驟

    Redis過(guò)期事件監(jiān)聽(tīng)器的完整實(shí)現(xiàn)步驟

    要使用 Redis 過(guò)期事件監(jiān)聽(tīng)器來(lái)更新數(shù)據(jù)庫(kù)狀態(tài),我們需要確保 Redis 的事件通知已啟用,并實(shí)現(xiàn)監(jiān)聽(tīng)器來(lái)捕獲過(guò)期的鍵,并根據(jù)需要更新數(shù)據(jù)庫(kù),本文給大家介紹了Redis過(guò)期事件監(jiān)聽(tīng)器的完整實(shí)現(xiàn)步驟,需要的朋友可以參考下
    2024-10-10
  • 為Java項(xiàng)目添加Redis緩存的方法

    為Java項(xiàng)目添加Redis緩存的方法

    Redis一般有Linux和Windows兩種安裝方式,本文就這兩種方式給大家詳細(xì)介紹,對(duì)java項(xiàng)目添加redis緩存相關(guān)知識(shí),感興趣的朋友一起看看吧
    2021-05-05
  • Redis的Python客戶(hù)端redis-py安裝使用說(shuō)明文檔

    Redis的Python客戶(hù)端redis-py安裝使用說(shuō)明文檔

    這篇文章主要介紹了Redis的Python客戶(hù)端redis-py安裝使用說(shuō)明文檔,本文講解了安裝方法、入門(mén)使用實(shí)例、API參考和詳細(xì)說(shuō)明,需要的朋友可以參考下
    2015-06-06
  • Redis的哈希Hash類(lèi)型常用命令的使用小結(jié)

    Redis的哈希Hash類(lèi)型常用命令的使用小結(jié)

    Redis哈希類(lèi)型類(lèi)似于一個(gè)鍵值對(duì)集合,通常用于存儲(chǔ)對(duì)象,每個(gè)哈希包含多個(gè)字段,每個(gè)字段都有一個(gè)值,哈希類(lèi)型支持一系列常用命令,下面就來(lái)詳細(xì)的介紹一下這些命令的使用,感興趣的可以了解一下
    2025-08-08
  • sentinel支持的redis高可用集群配置詳解

    sentinel支持的redis高可用集群配置詳解

    這篇文章主要為大家介紹了sentinel支持的redis高可用集群配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04

最新評(píng)論