[問題] 先淘汰cache or 先寫db ?
https://zhuanlan.zhihu.com/p/38475787
這篇認為應該先invalidate cache 再寫db
https://blog.csdn.net/flysqrlboy/article/details/79427618#t21
這篇認為應該先寫db 再invaludate cache
請問哪個正確呢?
我覺得是case 2正確
case1:
user1 invalidate cache, while updating db(未完成)
user2 此時讀資料,cache miss,去讀資料庫,得到舊數據,
並用舊數據update cache
user1 完成db更新
此時cache存著舊數據,db新數據,數據不一致
case2:
user1 update db (未完成)
user2 此時讀資料,在cache讀了舊資料,離開
user1 finish db and update cache
以後的user都可以讀到最新數據,只有user2讀了舊數據,但僅只一次,無傷大雅
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 172.89.32.145
※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1531211955.A.D12.html
→
07/10 16:55,
5年前
, 1F
07/10 16:55, 1F
推
07/10 16:57,
5年前
, 2F
07/10 16:57, 2F
推
07/13 16:04,
5年前
, 3F
07/13 16:04, 3F