記一次緩存在實際中的應用

一、需求

       最近公司平臺升級,考慮到性能問題領導讓一些熱點數據做緩存,而產品和運營則要求用戶在進入某一列表後下拉更多的時候,假如後臺數據發生改變,當前用戶數據不能改變。

      舉例:用戶看視頻列表:當前庫裏排序 1,2,4,3,6,5;以上數字代表某個視頻列表

      用戶A進行該視頻頁,假設分頁長度爲2,目前用戶看到的視頻列表:1,2;正常情況下用戶點擊更多時應該顯示4,3;這時用戶手機列表顯示的是1,2,4,3;但 在用戶點擊更多時數據庫數據發生變化1,9,2,4,3,6,5;新增了一條數據9,這種情況下如何直接從數據庫獲取數據,用戶界面列表會這樣顯示,1,2,2,4;產品和運營認爲很不合理,領導就開始跟運營撕逼。最後官司打到老闆,老闆拍板結果你懂得。

 

二、解決方案

     1)數據緩存,這是必須的。

     2) 考慮用戶不會查看多頁之後的數據,我們可以這樣做,先從數據庫拿指定限制長度的數據放入緩存;用戶取數據時如果緩存有數據就從緩存取,沒有則在數據庫取。

     3) 代碼儘量無侵入,切面最好的實現方式。

         說話容易擼碼難;看實現吧。

三、流程

三、代碼

https://gitee.com/benxiaohai52/cache-page.git

該框架經過測試,且在線上項目使用,由於時間原因,代碼還俱有一定的侵入性。後續會逐漸改造

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章