1

Trigger.ioでjson文字列をキャッシュするのを手伝ってくれる人はいますか? たとえば、1時間キャッシュするのは良い考えだと思うjsonリクエストがたくさんあります。$.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
  • 接続キープアライブ
  • コンテンツの長さ 4294
  • プラグマ キャッシュ
  • サーバー Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8g PHP/5.3.15
  • コンテンツ タイプ アプリケーション/json; 文字セット=utf-8
  • Cache-Control max-age=3600
  • キープアライブ タイムアウト = 5、最大 = 100
  • 有効期限 2012 年 8 月 28 日(火)16:19:30 GMT

上記の設定では、chrome または safaris ネットワーク デバッガーを調べてもキャッシュは行われません。それとも、誰かが Trigger.io でキャッシュするためのより良いアイデアを持っていますか?

ありがとうございます!

4

1 に答える 1

1

私が開発した最近のアプリケーションでは、ユーザーが小さな「更新」アイコンを押すまで、結果の json を (メモリに) キャッシュします。x 日で自動的に期限切れになるユーザー設定を追加できると思います。また、メモリを使用する代わりに、trigger.io を使用して json をディスクに保存することもできます。

私がどのようにそれを行うかを見たい場合は、ここにアプリがあります (注: 今朝、テストされていない tweeks をいくつかコミットしました):

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

viewmanager.js は、backbone.js モデルのキャッシュ ロジックのほとんどを処理します。基本的に私はいつものことをします:

  1. モデルはキャッシュにありますか?
  2. はいの場合、キャッシュされたモデルを使用します。
  3. No の場合、モデルを (json 経由で) バインドし、キャッシュに追加します。
  4. それを使用してください(返されたモデル)。
于 2012-08-28T18:50:22.630 に答える