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