我需要从不同的Web服务中检索很长的结果列表,并在将它们分类后显示给用户。到目前为止,我收到了所有结果并将它们放在一个名为result class的类中。
我不确定处理它们的有效方法是什么。我应该将它们放在数据库中,然后将它们显示给用户或将它们保存在内存中(我认为这不是一个好主意!)或者是否还有其他替代方法?
User makes a search request
Web service client requests to receive results from
first webservice put results into result class
second webservice put results into result class
third webservice put results into result class
.....
Sort the results based on their name
Show the results to user.
结果类
public class Result {
private long id;
private String name;
private String source;
private float code;
.....
}
场景就像是,每个用户都发送一个查看学生列表的请求。 假设用户想要查看超过18岁的学生列表,系统会将请求发送到所有Web服务,以便在收到所有信息后获取18岁以上的学生列表,系统将所有信息放在一起排序并将它们显示给用户。用户可以根据每个学生的年龄,名字等进行搜索,数据需要实时,因为学生信息在所有服务器上一直在变化。
答案 0 :(得分:1)
您需要问自己的问题是:
在检索数据后多长时间,我需要相关的数据吗?
提示:
如果您要将数据缓存在内存中,请查看http://ehcache.org/或http://www.terracotta.org/之类的内容。
如果您决定将其保存在数据库中,请存储数据基本到期的日期和时间,然后提供一些内容(您的应用程序,crontab或您决定使用的任何内容)清除过期时间的数据。 / p>