私はニュースアプリケーションネットワークライブラリとしてvolleyを使用しています。最初の接続でアプリケーションを望み、webserviceで利用可能なすべてのニュースを取得し、アプリケーションを開くたびに新しいニュースがサーバー更新のvolleyキャッシュで利用できるかどうかを確認します。問題は、キャッシュを更新する通常の方法は何ですか?サーバーからの通知を送信するのは良い戦略ですか、またはアプリケーションを開くたびにサーバーをチェックしていますか?バレーキャッシュアップデート戦略
0
A
答えて
1
2つの主なオプションがあります。 1.使用純粋にデフォルトのHTTPキャッシュ(デフォルトのボレーの実施又は使用をボレー任意のHHTPスタックの1) 2.あなたが正確にどのように、何にを定義することができ、独自のカスタムキャッシュを使用キャッシュ
オプション1については、これを使用しているようですので詳しく説明します。
キャッシュされたレスポンスを通常持っている場合、返されたキャッシュヘッダーに情報が含まれているため、通常は外部情報を更新する必要はありません。
だから、応答(例えば記事が)ことができます:有効なキャッシュにキャッシュされ 1) - 何の要求はネットワーク層 2に進みません。その場合には)キャッシュされた魔女は、再検証する必要があります - その場合、あなたの中に新しいバージョンのレスポンスを受け取るか、現在のキャッシュが有効であり、まだ使用可能であることを意味するNOボディ付きの304レスポンスを受け取る可能性があります。 3)キャッシュされない - 新しいリクエストが行われました
つまり、正しいキャッシュあなたのニュースサーバーのヘッダーは、新しいデータをチェックするためにアプリケーションが起動するか、アクティビティが再開されるたびにリクエストを行うことができ、あまりにも多くのリクエストが送信されることを心配する必要はありません。特に記事の変更頻度が高い場合、これはより良いオプションです。
一方、適切なヘッダーがない場合、またはニュースを更新するのはめったにない場合はプッシュ通知を送信するオプションですが、すべてのクライアントに送信する必要があります多くの変更があり、実装、保守、コストの複雑さも高くなります。
関連する問題
- 1. デフォルト戦略の戦略パターン
- 2. データベースシャーディング戦略
- 3. Nhibernateフェッチ戦略
- 4. solrインデックス戦略
- 5. Railsフラグメントキャッシュ戦略
- 6. フェッチ戦略
- 7. ロギング戦略
- 8. リファクタリングヘルプ - 戦略パターン
- 9. データベースプルーニングの戦略
- 10. ELBルーティング戦略
- 11. バックアップ戦略
- 12. UMLデータフローダイアグラム戦略
- 13. ソフトウェアデザイン戦略
- 14. JIRAコンポーネント戦略
- 15. プロジェクト/コードリリース戦略
- 16. デザインパターン - 戦略パターン
- 17. バージョン管理戦略
- 18. RabbitMQ + PHPデプロイメント戦略
- 19. Symfony2の戦略パターン
- 20. エンティティ削除戦略
- 21. Scalaでの戦略
- 22. IOSデータインポート戦略/デザイン
- 23. Rails4認可戦略
- 24. MySQLのバックアップ戦略
- 25. PHPアンケートの戦略
- 26. Haskell desugaringの戦略
- 27. ASP.Netのキャッシュバスター戦略
- 28. パフォーマンステスト戦略Webアプリケーション
- 29. MendeleyカスタムOAuth戦略
- 30. 戦略パターンのバリエーション
あなたのアプリケーションで可能であれば、ユーザーがアプリケーションを100回連続して開くことができ、新しいニュースが利用可能かどうかを確認する要求を送信する必要があるたびに、サーバーから通知を送信する方が明らかに優れています。 – Wukash