最近網上有個朋友問了一個關於移動客戶端增量更新的問題,我並無處理過相似的問題,一時也很差回答。
html
強迫症啊!!!redis
晚上回家好好想了一下,又是對網上的各款新聞資訊類客戶端一頓狂刷。而後分析了下用戶場景,提供一種解決思路。緩存
1.用戶多spa
2.更新頻繁設計
3.可能涉及欄目頻道htm
4.更新方式,推or拉排序
朋友需求的場景就是,客戶端拉取數據,增量更新,多頻道欄目。get
出於以前作過的項目方案分析im
1.版本號指令設計數據
2.客戶端對數據作規劃存儲
3.更新策略設計
詳細設計:
1.版本號指令設計,
設計3種內容指令 (增長, 刪除, 修改),當內容發生3中變化中的一種,都將其變化記錄有序集合中(可採用redis的SortedSet),以時間版本號爲排序規則,當客戶端獲取更新內容時,獲取全部大於客戶端版本號的更新內容,最後封裝成客戶端數據,實現客戶端的增刪改。
2.客戶端對數據作規劃存儲
客戶端創建本地數據緩存,而且方便更新操做等,這裏就不詳細描述
3.更新策略設計
什麼時候全量更新,什麼時候增量更新..................
流程圖