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

數據庫與緩存不一致,你會怎么辦?

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

今天聊聊數據庫yu緩存的一致性問題。

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

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


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

  • 主庫一個寫請求(主從沒同步完成);
  • 從庫接著一個讀請求,讀到了舊數據;
  • 最后,主從同步完成;

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

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

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

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

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

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

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

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

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

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

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

但是,有沒有辦法做到,即使引入緩存,不一致不會比“不引入緩存”更糟呢?

這是更為實際的優化目標。

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

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

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

  • (6)主從同步;
  • (7)通過工具訂閱從庫的binlog,這里能夠最準確的知道,從庫數據同步完成的時間;
  • (8)從庫執行完寫操作,向緩存再次發起刪除,淘汰這段時間內可能寫入緩存的舊數據;

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

知其然,知其所以然。

思路比結論更重要。

責任編輯:趙寧寧 來源: 架構師之路
相關推薦

2018-07-15 08:18:44

緩存數據庫數據

2020-11-17 06:42:21

MySQL數據庫開源

2021-12-26 14:32:11

緩存數據庫數據

2022-03-16 15:54:52

MySQL數據format

2018-07-08 07:38:28

數據庫緩存數據

2020-07-20 14:06:38

數據庫主從同步服務

2019-08-07 10:25:41

數據庫緩存技術

2021-12-30 09:32:04

緩存數據庫數據

2021-01-19 10:39:03

Redis緩存數據

2024-05-11 07:37:43

數據Redis策略

2021-04-18 15:01:56

緩存系統數據

2022-12-13 08:15:42

緩存數據競爭

2010-06-02 10:53:28

MySQL版本

2017-06-20 09:42:52

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

2021-06-11 09:21:58

緩存數據庫Redis

2024-07-31 08:21:53

2020-12-24 10:58:42

數據庫架構緩存

2025-04-03 09:51:37

2013-07-15 09:51:04

2021-05-27 18:06:30

MySQL編碼數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一级免费在线观看 | 日韩国产在线 | 91精品国产91久久久久游泳池 | 中文精品一区二区 | 国产午夜精品久久久久免费视高清 | 九九久久精品视频 | 91亚洲国产| 中文字幕在线不卡播放 | 日韩在线看片 | 免费一级黄色录像 | 久久久精品一区 | 欧美激情视频一区二区三区在线播放 | 久久久国产精品 | 免费高潮视频95在线观看网站 | 久久久视频在线 | 午夜影院在线观看免费 | 久久久噜噜噜www成人网 | 亚洲高清在线观看 | 国产一区二区在线免费观看 | 91视频大全 | 亚洲精品一区中文字幕乱码 | 人人插人人 | 欧美久久久久久久久 | 亚洲男人天堂2024 | 国产精品久久久久久高潮 | 在线观看视频亚洲 | 日韩在线一区视频 | 国产亚洲一区二区三区在线观看 | 亚洲国产在 | 欧美日韩a | 日韩av在线一区 | 久久久久国产一区二区三区四区 | 欧美看片 | 日韩综合在线视频 | 中文字幕一区在线观看视频 | 日韩精品一区在线观看 | 韩日一区二区 | 伊人精品 | 一区二区在线不卡 | 精品国产伦一区二区三区观看说明 | av香蕉 |