背景:我们正在使用grails 2.1.1。我们现在没有使用任何数据库。我们为另一台服务器上的每个响应进行Web服务调用。
现在的问题是,有一个Web服务调用,它以XML格式返回一些静态数据,这些数据在整个应用程序中都可用。 xml的大小约为40kb。这个xml包含静态数据,如project_list,status_type_list等,我们必须在不同gsp页面的各种下拉列表和菜单项中使用它。
所以,请告诉我们处理这些数据的最佳方法。这样它不会影响我们的页面加载时间和浏览体验。而且我们也可以轻松地在客户端使用数据。
答案 0 :(得分:1)
使用cache plugin缓存静态xml数据。然后添加一些关于何时应该更新缓存的策略...(即使用作业来检查xml是否每小时都有变化)
答案 1 :(得分:1)
回复您对该问题的评论。我更喜欢在插件上使用基于注释的缓存,如果需求就像你声明的那样简单。
如果调用是从服务器端进行的,并且您想要缓存解析后的XML的结果,那么您可以执行以下操作:
@Cacheable("staticDataCache")
def getStaticDataFromXML() {}
然后,您可以使用上述方法提取地图,列出您用于存储结果的数据结构,并将其从缓存中提取。
然后使用另一种刷新缓存的服务方法,您可以从作业中频繁调用。
@CacheFlush("staticDataCache")
def flushStaticDataCache() {}