只要使用了快取就涉及到快取同步
快取同步其實就是當快取的資訊發生變化,就是後台對快取資料進行增刪改操作之後,資料庫中的資料發生了變化同時要把快取中的資料對應刪除即可。當頁面再次請求資料的時候,快取中不能命中就會從資料庫中查詢並且新增到快取中,就實現了快取同步。
快取同步分為讀快取同步,和寫快取同步
快取預載入模式
提前將資料從資料庫載入到快取,如果資料庫有寫更新,同步更新快取。在秒殺情況下,我們對商品資料就按照這種模式進行處理。
快取直讀模式
應用先檢視快取中是否有該資料,有則直接使用,如果沒有,從資料庫載入,然後放入快取,下次以後再訪問就可以直接從快取中獲得。
快取直寫模式
在資料更新時,同時寫入快取和資料庫。這種模式是最穩妥的辦法,但是效能會受到一定的影響。
快取回寫模式
在資料更新時只寫入快取。通常由乙個後台佇列檢查快取中資料的變化,再將據寫到後端資料庫。
快取更新 同步
這裡總結的快取同步方案適合像redis這種集中式快取,也適合像本地快取這種分布式快取。這裡按照快取的更新及時性分為三類 適合與分布的伺服器,每隔一段時間更新記憶體資料或靠自定過期更新資料。這種方式實現非常簡單,適用於少量快取資料,但在大批量的快取資料的場景下不適用,需要考慮下面問題 1.快取物件太多...
快取相關問題及解決方案
快取穿透 查詢必然不存在的資料,請求透過快取,直擊資料庫 快取雪崩 大量的key設定了相同的過期時間,導致在快取在同一時刻全部失效,造成瞬時db請求量大 壓力驟增,引起雪崩 快取擊穿 乙個存在的key,在快取過期的一刻,同時有大量的請求。直擊資料庫順便說兩個概念加深一下記憶 tps 資料庫美妙執行的...
快取問題及相關解決策略
2.1 什麼是快取穿透 正常情況下,我們去查詢資料都是存在。那麼請求去查詢一條壓根兒資料庫中根本就不存在的資料,也就是快取和資料庫都查詢不到這條資料,但是請求每次都會打到資料庫上面去。這種查詢不存在資料的現象我們稱為快取穿透。2.2 穿透帶來的問題 試想一下,如果有黑客會對你的系統進行攻擊,拿乙個不...