我有一个基于Flex的客户端应用程序,它通过BlazeDS与后端“交谈”。在我的一个使用案例中,将会有一个所谓的“照片墙”视图,该视图将呈现从用户和用户所在位置(类似于Facebook)提交的多个最新照片。从服务器获取高效数据的策略
问题是,这张照片墙中的数据必须按照“全部”进行过滤,这意味着没有过滤条件,“朋友”(意为用户所关注的朋友)和“位置” 。
以下三种方法嗡嗡我的头
如果我从服务器获取数据一次(当所有的过滤器默认情况下选中),我将存储在本地,并且下一次用户点击一个过滤器,这个本地集合将被本地过滤。问题是,我无法预测有多少最近的照片来自朋友,以及有多少位置,因此我最终可能会显示仅显示一张照片的页面,其中至少应显示5张照片。我显然不想处理部分抓取和类似的东西。
另一种方式是最初向服务器发出两个独立的请求,一个是从朋友处获取最近照片的集合,另一个是获取位置的最近照片的集合。因此,我会确保我有最少的照片供过滤的页面使用。当数据到达时,客户端将合并这两个集合,按日期排序,瞧那里是“ALL”集合(当然,重复的照片将不得不在修剪时合并)
第三,制作这个相同的东西在服务器级别,通过制作两个单独的查询然后合并它们。
这是一个常见的情况,我知道,但仍然,我必须以某种方式处理它。一般来说,请为数据提取建议良好的服务器不可知策略。