Grails在客户端存储和获取数据

时间:2013-02-26 15:32:58

标签: caching grails cookies local-storage

背景:我们正在使用grails 2.1.1。我们现在没有使用任何数据库。我们为另一台服务器上的每个响应进行Web服务调用。

现在的问题是,有一个Web服务调用,它以XML格式返回一些静态数据,这些数据在整个应用程序中都可用。 xml的大小约为40kb。这个xml包含静态数据,如project_list,status_type_list等,我们必须在不同gsp页面的各种下拉列表和菜单项中使用它。

所以,请告诉我们处理这些数据的最佳方法。这样它不会影响我们的页面加载时间和浏览体验。而且我们也可以轻松地在客户端使用数据。

2 个答案:

答案 0 :(得分:1)

使用cache plugin缓存静态xml数据。然后添加一些关于何时应该更新缓存的策略...(即使用作业来检查xml是否每小时都有变化)

答案 1 :(得分:1)

回复您对该问题的评论。我更喜欢在插件上使用基于注释的缓存,如果需求就像你声明的那样简单。

如果调用是从服务器端进行的,并且您想要缓存解析后的XML的结果,那么您可以执行以下操作:

@Cacheable("staticDataCache")
def getStaticDataFromXML() {}

然后,您可以使用上述方法提取地图,列出您用于存储结果的数据结构,并将其从缓存中提取。

然后使用另一种刷新缓存的服务方法,您可以从作业中频繁调用。

@CacheFlush("staticDataCache")
def flushStaticDataCache() {}