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

Redis中的延遲雙刪

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

什么是延遲雙刪?

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

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

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

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

第一種方案

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

存在的問題:當請求1執(zhí)行完更新數(shù)據(jù)庫操作后,還未來得及刪除redis,此時請求2查詢到并使用了redis中的舊數(shù)據(jù)。

第二種方案

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

存在的問題:當請求1執(zhí)行完刪除redis后,還未進行更新數(shù)據(jù)庫操作,此時請求2查詢到了數(shù)據(jù)庫的舊數(shù)據(jù)并寫入了redis。

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

延時雙刪可能會導致的問題?

在低并發(fā)的情況下,可以通過加鎖的方式來達成雙寫一致性。

但是高并發(fā)的情況下,刪除緩存必然會造成緩存擊穿的問題,其實緩存擊穿影響不大,因為能解決, 主要是延遲雙刪的第一次刪除可能沒什么意義。

因為在緩存第一次刪除舊數(shù)據(jù)后,數(shù)據(jù)庫還沒有完成更新時,請求到來時直接請求數(shù)據(jù)庫,返回的還是舊數(shù)據(jù)并添加到了緩存中,相當于又回到了緩存第一次刪除之前的狀態(tài),都是緩存的舊數(shù)據(jù)。

總結

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

相關文章

  • Redis模仿發(fā)送手機驗證碼功能

    Redis模仿發(fā)送手機驗證碼功能

    這篇文章主要介紹了Redis模仿手機驗證碼發(fā)送功能,通過示例代碼給大家講解通過用戶輸入手機號以及驗證碼進行校驗,代碼簡單易懂,需要的朋友可以參考下
    2021-09-09
  • Redis可視化連接服務器的方法

    Redis可視化連接服務器的方法

    這篇文章主要介紹了Redis可視化連接服務器的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Redis實現(xiàn)短信登錄的企業(yè)實戰(zhàn)

    Redis實現(xiàn)短信登錄的企業(yè)實戰(zhàn)

    本文主要介紹了Redis實現(xiàn)短信登錄的企業(yè)實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 使用寶塔在服務器上配置Redis的詳細圖文教程

    使用寶塔在服務器上配置Redis的詳細圖文教程

    這篇文章主要給大家介紹了關于使用寶塔在服務器上配置Redis的相關資料,包括下載和安裝Redis,開放端口,修改配置文件以允許遠程訪問和設置密碼,該過程對于理解Redis在項目部署中的配置提供了實用指導,需要的朋友可以參考下
    2024-11-11
  • 淺談Redis中的RDB快照

    淺談Redis中的RDB快照

    雖說Redis是內(nèi)存數(shù)據(jù)庫,但是它為數(shù)據(jù)的持久化提供了兩個技術,分別是AOF日志和RDB快照。這兩種技術都會用各用一個日志文件來記錄信息,但是記錄的內(nèi)容是不同的。AOF 文件的內(nèi)容是操作命令; RDB 文件的內(nèi)容是二進制數(shù)據(jù)。本文將討論RDB快照的原理和使用
    2021-06-06
  • Redis中5種BitMap應用場景及實現(xiàn)介紹

    Redis中5種BitMap應用場景及實現(xiàn)介紹

    Redis BitMap是一種高效的位操作數(shù)據(jù)結構,這種結構在處理海量數(shù)據(jù)的布爾型狀態(tài)時尤其高效,下面小編就來和大家簡單介紹一下5種它的應用場景及實現(xiàn)方法吧
    2025-04-04
  • Redis的KEYS 命令千萬不能亂用

    Redis的KEYS 命令千萬不能亂用

    這篇文章主要介紹了Redis的KEYS 命令千萬不能亂用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Redis讀寫分離搭建的完整步驟

    Redis讀寫分離搭建的完整步驟

    為滿足讀多寫少的業(yè)務場景.最大化節(jié)約用戶成本.云數(shù)據(jù)庫Redis版推出了讀寫分離規(guī)格,為用戶提供透明、高可用、高性能、高靈活的讀寫分離服務,這篇文章主要給大家介紹了關于Redis讀寫分離搭建的相關資料,需要的朋友可以參考下
    2021-09-09
  • redis操作學習記錄

    redis操作學習記錄

    這篇文章主要介紹了redis操作,記錄總結了Redis客戶端、服務器、string、hash、list、發(fā)布/訂閱、事務等相關概念、原理與操作技巧,需要的朋友可以參考下
    2020-04-04
  • Redis數(shù)據(jù)庫原理深入刨析

    Redis數(shù)據(jù)庫原理深入刨析

    在之前的文章我們介紹過,Redis服務器在啟動之初,會初始化RedisServer的實例,在這個實例中存在很多重要的屬性結構,同理本篇博客中介紹的數(shù)據(jù)庫實現(xiàn)原理也會和其中的某些屬性相關,我們繼續(xù)看一下吧
    2022-11-11

最新評論