亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

先進行緩存操作還是數據庫操作

發布時間:2021-10-18 16:08:03 來源:億速云 閱讀:110 作者:iii 欄目:編程語言

本篇內容介紹了“先進行緩存操作還是數據庫操作”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

先更數據庫,再刪除緩存

問題

緩存刪除后,尚未更新數據庫,并發讀請求,從數據庫讀到了舊值,并且更新到緩存導致后續請求都是舊值。

時間
從上
   到下,
越來
越晚

更新操作

 

刪除redis

讀取操作

 

緩存沒有數據

 

從數據庫讀到舊值

 

回寫redis

更新mysql

返回

返回

 

解決方式

經典的延遲雙刪。就是:先更新數據線,再刪緩存,之后延遲一段時間再刪緩存。

時間
從上
   到下,
越來
越晚

更新操作

 

刪除redis

讀取操作

 

緩存沒有數據

 

從數據庫讀到舊值

 

回寫redis

更新mysql

返回

延遲一段時間

 

 

 

刪除redis

 

 

讀取操作

 

緩存沒有數據

 

從數據庫讀到新值

 

回寫redis

 

返回

延遲一段時間,挺重要不能拍腦袋,需要考慮2個因素

考慮查詢接口響應時間

時間
從上
   到下,
越來
越晚

更新操作

 

刪除redis

讀取操作

 

緩存沒有數據

 

從數據庫讀到舊值

更新mysql

 

延遲一段時間,
小于從數據讀取數據的時間,
延遲策略失效

 

刪除redis

 

 

回寫redis

 

返回

考慮mysql主從同步事件

自建mysql集群,配置不當,會出現mysql主從同步延遲大的情況。

時間
從上
   到下,
越來
越晚

更新操作

 

刪除redis

讀取操作

 

緩存沒有數據

 

從數據庫讀到舊值

 

回寫redis

更新mysql主庫

返回

延遲一段時間,
小于mysql主從同步時間
延遲策略失效

 

 

 

刪除redis

讀取操作

 

緩存沒有數據

 

從庫讀到舊值

mysql主從同步完成

回寫redis

 

返回

延遲時間必須大于查詢接口的響應時間。

并且要大于mysql主從同步的時間,防止主從同步延遲造成,讀到舊值的情況

                                                                                                     --- 溫安適 20210225

先刪緩存,再更新數據庫

注意:建議查詢接口要從主庫進行讀取

時間
從上
   到下,
越來
越晚

更新操作

 

更新mysql主庫

讀取操作

 

緩存有數據,讀到舊值

刪除redis

返回

 

 

 

讀取操作

 

緩存沒有數據

 

主庫讀到新值

 

回寫redis

 

返回

存在的問題:

等待緩存刪除完成,期間數據庫會有不一致數據短暫存在,但是一般可以不處理。

總結:

策略

潛在問題

解決方式

注意事項

先刪緩存,
再更數據庫

并發條件下
數據庫更新還沒有完成
有并發讀請求,從數據庫讀到了舊值

延遲雙刪

延遲時間必須
大于查詢接口的響應時間。
并且大于mysql主從同步的時間

先更數據庫,
再刪緩存

并發條件下
緩存沒有刪除完成,并發讀
從緩存讀到了舊值

不處理,
最終會一致

查詢接口建議讀主庫,存在不一致,
但是一般不需處理

“先進行緩存操作還是數據庫操作”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

措美县| 石河子市| 温州市| 鹿邑县| 和静县| 黄大仙区| 尖扎县| 刚察县| 庄浪县| 田东县| 从化市| 太原市| 石柱| 京山县| 明光市| 南岸区| 华安县| 夹江县| 叶城县| 遂昌县| 游戏| 通榆县| 冀州市| 乌拉特后旗| 闸北区| 台山市| 湖南省| 封丘县| 霍山县| 卓资县| 磴口县| 张家川| 康定县| 垫江县| 天长市| 瑞安市| 龙州县| 巴林右旗| 丹凤县| 大洼县| 小金县|