<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      記一次緩存一致性中延遲雙刪的使用場景

      1、背景:

       前邊寫了個這樣的業務需求:從算法服務那邊會不斷的發送過來一些預警的數據和預警恢復的數據,當有新預警數據過來時,會進行數據庫記錄和redis緩存,當有該預警的恢復過來時會將數據庫狀態修改并清除緩存,我的做法是使用了緩存雙刪的策略,即先刪緩存,再更新數據庫,再刪緩存。

      但是此時還是出現了問題,就是頁面上某個使用我緩存的地方出現了顯示的不正確,經過查詢,發現數據庫里這條數據已經是恢復狀態,但是緩存里還是有預警,這就是數據庫和緩存不一致導致的問題,比較老生常談了。

      2、方案:

      經過排查,發現是我在進行第二次刪除緩存的時候,并沒有進行延遲,這就可能會出現問題,主要出問題的邏輯如下:

      A線程在收到預警恢復的數據后,先刪除了緩存,此時B線程過來查詢,發現緩存中沒有數據,則查數據庫,但是還沒更新緩存,此時B線程的時間片用完,輪到A線程進行更新數據庫操作,A順利的更新了數據庫,然后A線程執行了第二次刪除緩存操作,但是緩存中其實還沒有數據,所以A其實刪除了個空,此時B線程繼續執行,B線程將數據庫中查到的舊值更新到了緩存中,這就導致緩存和數據庫不一致。

      所以我再第二次刪除緩存處加了個線程sleep100ms,但是其實還是有問題,我應該讓線程sleep多長時間才合適呢?這個問題我并沒有深究,等有空了再詳細研究一下吧。

      posted @ 2023-09-23 16:19  煙花火的人生  閱讀(190)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲精国产一区二区三区| 精品成人免费自拍视频| 伊人色综合久久天天小片| 龙里县| 国产一区二区三区乱码在线观看| 国产午夜福利小视频合集| 人妻少妇偷人无码视频| 亚洲精品综合久久国产二区| 人人澡人摸人人添| 精品一区二区三区波多野结衣| 乱码午夜-极品国产内射| 九九热免费在线观看视频| 香蕉久久精品日日躁夜夜躁夏 | 精品999日本久久久影院| 国产精品十八禁一区二区| 精品久久久无码中文字幕| 国产精品福利自产拍在线观看| 婷婷久久综合九色综合88| 国产亚洲一区二区三区四区| 四虎国产精品永久在线| 最新国产AV最新国产在钱| 无码国产精品一区二区av| 亚洲精品国偷拍自产在线观看蜜臀| 在线 欧美 中文 亚洲 精品 | 国产精品自拍视频第一页| 盘锦市| 日韩av综合免费在线| 成全我在线观看免费第二季| 天堂久久久久VA久久久久| 一区二区在线观看 激情| 亚洲熟妇少妇任你躁在线观看无码| 中文国产日韩欧美二视频| 南郑县| 99中文字幕精品国产| 伊人久久大香线蕉av五月天| 欧美日本中文| 国产精品va无码一区二区| 肉色丝袜足j视频国产| 亚洲av鲁丝一区二区三区黄| 亚洲最大福利视频网| 日本福利一区二区精品|