我有一個基於Flex的客戶端應用程序,它通過BlazeDS與後端「交談」。在我的一個使用案例中,將會有一個所謂的「照片牆」視圖,該視圖將呈現從用戶和用戶所在位置(類似於Facebook)提交的多個最新照片。從服務器獲取高效數據的策略
問題是,這張照片牆中的數據必須按照「全部」進行過濾,這意味着沒有過濾條件,「朋友」(意爲用戶所關注的朋友)和「位置」 。
以下三種方法嗡嗡我的頭
如果我從服務器獲取數據一次(當所有的過濾器默認情況下選中),我將存儲在本地,並且下一次用戶點擊一個過濾器,這個本地集合將被本地過濾。問題是,我無法預測有多少最近的照片來自朋友,以及有多少位置,因此我最終可能會顯示僅顯示一張照片的頁面,其中至少應顯示5張照片。我顯然不想處理部分抓取和類似的東西。
另一種方式是最初向服務器發出兩個獨立的請求,一個是從朋友處獲取最近照片的集合,另一個是獲取位置的最近照片的集合。因此,我會確保我有最少的照片供過濾的頁面使用。當數據到達時,客戶端將合併這兩個集合,按日期排序,瞧那裏是「ALL」集合(當然,重複的照片將不得不在修剪時合併)
第三,製作這個相同的東西在服務器級別,通過製作兩個單獨的查詢然後合併它們。
這是一個常見的情況,我知道,但仍然,我必須以某種方式處理它。一般來說,請爲數據提取建議良好的服務器不可知策略。