1

私のangularアプリは、アプリのロード時にサーバーからデータを取得するだけでよく、その後はサーバーと通信してデータを上書きするだけです。これを実装するための推奨される方法はありますか?

これまでのところ$resource.query、初期データセットをフェッチし、リソースをサービスに保存するために使用しており、GET アクションを上書きする必要があると考えていますが、サーバーとの通信を抑制する方法がわかりません。

getLatestまた、キャッシュされたリソースに追加する必要がある追加のレコードを取得するために多くのサーバー側の作業を行う、別の Web サービスも呼び出しています。どうすればこれを行うことができますか?取得したデータから何らかの方法で Resource インスタンスを手動で作成すること、または getLatest 呼び出しが返された後に新しい (キャッシュされていない) リソース クエリを起動することを考えました (ただし、これは非効率的と思われます)。

4

2 に答える 2

2

cache@tschielaは、リソースのプロパティを使用してリソースをキャッシュできることは正しいです。ただし、キャッシュの無効化戦略を理解する必要があります。

  • いつキャッシュを更新する必要があるか
  • サーバー データが更新されるとどうなるか。
  • キャッシュされるすべてのデータの不整合を許容できますか。
  • よくわかりませんが、標準実装$httpサービスのキャッシュが優先されますHTTP expiration header(存在する場合)。

全体的なサーバー ベースの HTTP 有効期限ヘッダーは、サーバー上でより多くの制御が可能であり、ほとんどのブラウザーが GET 要求を受け入れるため、キャッシュを提供するための最良の方法です。

于 2013-09-08T13:53:23.733 に答える