背景
系統中使用了redis,有乙個sortedset的key存著某張資料庫表中的id,便於分頁。
如果刪除一條記錄,redis和資料庫表中資料都需要刪除。
問題
查詢出的分頁資料中,存在刪除的資料。
辦法
怎麼辦呢?
這是乙個明顯的資料不統一的問題。可是,運算元據庫和操作redis很難保證資料的一致性啊。
建議,先刪除redis,然後刪除資料庫。這樣,如果資料庫刪除失敗,至少前端查詢的時候,從redis中查詢的資料中不存在刪除的資料。
本來想做個定時來同步資料的,可是在網際網路中,資料量太大了,這種定時程式的成本很高。
快取更新 同步
這裡總結的快取同步方案適合像redis這種集中式快取,也適合像本地快取這種分布式快取。這裡按照快取的更新及時性分為三類 適合與分布的伺服器,每隔一段時間更新記憶體資料或靠自定過期更新資料。這種方式實現非常簡單,適用於少量快取資料,但在大批量的快取資料的場景下不適用,需要考慮下面問題 1.快取物件太多...
集群時的快取同步
隨著對伺服器集群的負載均衡能力要求越來越高,很多伺服器推出了session同步的功能。即同乙個客戶端在同乙個訪問週期裡,可能第一次訪問a機器,第二次跳轉到b機器訪問,此時在訪問a機器過程中產生的session裡的內容可以被同步複製到b機器上。這個功能使得負載均衡更加合理,但是也帶來了一系列問題。伺服...
redis快取如何同步資料庫
redis快取如何同步資料庫 redis mysql模式 讀 服務程式先從快取中讀取資料,如果命中,則將資料讀出。如果未命中,則在資料庫中讀取資料,然後將資料寫入到快取中去。更新資料 常見的模式是先到資料庫中寫入,然後刪除快取中的資料。產生的不一致 讀 只是讀資料一般不會有不一致出現。更新 1 資料...