成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

緩存與數據庫不一致,你遇到過嗎?

開發 開發工具
相信大家偶爾會遇到緩存與數據庫不一致的問題。今天聊聊這個話題。

相信大家偶爾會遇到緩存與數據庫不一致的問題。今天聊聊這個話題。

數據庫主從,為什么會不一致?

[[442079]]

先回顧下,無緩存時,數據庫主從不一致問題。

如上圖,發生的場景是,寫后立刻讀:

(1)主庫一個寫請求(主從沒同步完成);

(2)從庫接著一個讀請求,讀到了舊數據;

(3)最后,主從同步完成;

導致的結果是:主動同步完成之前,會讀取到舊數據。

可以看到,主從不一致的影響時間很短,在主從同步完成后,就會讀到新數據。

緩存與數據庫,什么時候會不一致?

再看,引入緩存后,緩存和數據庫不一致問題。

如上圖,發生的場景也是,寫后立刻讀:

(1+2)先一個寫請求,淘汰緩存,寫數據庫;

(3+4+5)接著立刻一個讀請求,讀緩存,cache miss,讀從庫,寫緩存放入數據,以便后續的讀能夠cache hit(主從同步沒有完成,緩存中放入了舊數據);

(6)最后,主從同步完成;

導致的結果是:舊數據放入緩存,即使主從同步完成,后續仍然會從緩存一直讀取到舊數據。

可以看到,加入緩存后,導致的不一致影響時間會很長,并且最終也不會達到一致。

為什么會出現這類不一致?

可以看到,這里提到的緩存與數據庫數據不一致,根本上是由數據庫主從不一致引起的。當主庫上發生寫操作之后,從庫binlog同步的時間間隔內,讀請求,可能導致有舊數據入緩存。

假如主從不一致沒法徹底解決,引入緩存之后,binlog同步時間間隔內,也無法避免讀舊數據。

但是,有沒有辦法做到,即使引入緩存,不一致不會比“不引入緩存”更糟呢?這是更為實際的優化目標。

思路轉化為:在從庫同步完成之后,如果有舊數據入緩存,應該及時把這個舊數據淘汰掉。

緩存與數據庫不一致,可以怎么優化?

如上圖所述,在并發讀寫導致緩存中讀入了臟數據之后:

(6)主從同步;

(7)通過工具訂閱從庫的binlog,這里能夠最準確的知道,從庫數據同步完成的時間;畫外音:本圖畫的訂閱工具是DTS,可以是cannal,也可以自己訂閱和分析binlog。

(8)從庫執行完寫操作,向緩存再次發起刪除,淘汰這段時間內可能寫入緩存的舊數據;

如此這般,至少能夠保證,引入緩存之后,主從不一致,不會比沒有引入緩存更壞。

【本文為51CTO專欄作者“58沈劍”原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2021-12-30 09:32:04

緩存數據庫數據

2018-07-15 08:18:44

緩存數據庫數據

2025-04-08 09:00:00

數據庫緩存架構

2019-08-07 10:25:41

數據庫緩存技術

2018-07-08 07:38:28

數據庫緩存數據

2020-07-20 14:06:38

數據庫主從同步服務

2021-01-19 10:39:03

Redis緩存數據

2011-04-26 09:22:05

SQLite

2024-05-11 07:37:43

數據Redis策略

2023-03-13 07:41:34

分頁查詢數據排序

2020-11-08 14:38:35

JavaScript代碼開發

2021-04-18 15:01:56

緩存系統數據

2009-07-23 15:07:32

2017-06-20 09:42:52

網絡安全法數據隱私法網絡安全

2020-11-17 06:42:21

MySQL數據庫開源

2021-06-11 09:21:58

緩存數據庫Redis

2025-04-03 09:51:37

2021-05-27 09:27:35

開發技能緩存

2022-12-13 08:15:42

緩存數據競爭

2020-10-12 09:49:14

C++ 開發代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线看国产 | 大香网伊人 | 日韩精品中文字幕一区二区三区 | 亚洲在线观看视频 | 亚洲欧美在线观看 | 欧美视频二区 | 三级av在线 | 九九av| 亚洲三区在线 | 偷拍亚洲色图 | 一二三区视频 | 国产精品高清在线 | 精品熟人一区二区三区四区 | 久久久国产一区 | 久久国产美女视频 | 黄色一级特级片 | 久久久精品网 | 一区二区三区高清 | 少妇特黄a一区二区三区88av | 人妖无码 | 91麻豆精品国产91久久久更新资源速度超快 | 欧美国产精品 | 韩日在线观看视频 | 在线观看视频中文字幕 | 欧美激情综合色综合啪啪五月 | 伊人色综合久久天天五月婷 | 米奇7777狠狠狠狠视频 | 亚洲精品中文在线观看 | 免费视频久久 | 在线视频成人 | 亚洲色图图片 | 久久国产精品首页 | 日韩精品一区二区三区中文在线 | 欧美一区二 | 天天操天天干天天透 | 日韩在线电影 | 91精品国产91久久久久久丝袜 | 欧美色欧美亚洲另类七区 | 国产精品久久久久久婷婷天堂 | 国产精品亚洲欧美日韩一区在线 | 日韩国产欧美一区 |