在Trigger.IO中缓存json

时间:2012-08-28 15:37:57

标签: json caching trigger.io

有没有人可以帮我在Trigger.io中缓存json字符串?我有很多json请求,我认为将它们缓存为1小时是一个好主意。根据关于$ .ajax的jquery手册(Trigger.io指向forge.request.ajax的这本手册)没有jsonp和脚本作为一种类型的缓存,但我在这里使用json所以我希望做一些缓存在它上面。

我正在使用forge.request.ajax:

  forge.request.ajax({
    url: the_url_to_api,
    dataType: 'json',
    cache: true,
    success: function(data) {
      parsed_template = _.template( $('#sales_index_template').html(), {nowOnSale:     data.activeSales, soonOnSale: data.upcomingSales } );
      app.end_set_right_content(parsed_template);
    },
    error: function(error) {
    alert('Request for sales failed');
    }
  });

这是我在API中的json返回脚本的标题

  • 日期星期二,2012年8月28日15:19:30 GMT
  • x-powered-by PHP / 5.3.15
  • Connection Keep-Alive
  • Content-Length 4294
  • Pragma cache
  • 服务器Apache / 2.2.11(Unix)mod_ssl / 2.2.11 OpenSSL / 0.9.8g PHP / 5.3.15
  • Content-Type application / json;字符集= UTF-8
  • Cache-Control max-age = 3600
  • Keep-Alive timeout = 5,max = 100
  • 截止日期:2012年8月28日16:19:30 GMT

使用上述设置,如果我查看chromes或safaris网络调试器,则没有缓存。也许有人可以帮我解决我做错了什么?或者也许有人对Trigger.io中的缓存有更好的想法?

先谢谢!

1 个答案:

答案 0 :(得分:1)

在最近的一个应用程序中,我开发了缓存(在内存中)生成的json,直到用户按下“刷新”图标。我想我可以添加额外的用户首选项设置,以便在x天内自动过期。此外,我可以使用trigger.io将json保存到磁盘,而不是使用内存。

这是应用程序,如果你想看看我是怎么做的(注意:我今天早上做了几个未经测试的推文):

https://github.com/dragthor/south-ridge-app

viewmanager.js处理大多数backbone.js模型缓存逻辑。基本上我按常规做法:

  1. 模型是否在缓存中?
  2. 如果是,则使用缓存模型。
  3. 如果否,则绑定模型(通过json)添加到缓存。
  4. 使用它(返回的模型)。