===================================================================== User Static Data 登録サイトで入力した個人情報、お好みなど。 User Dynamic Data ユーザーに特定のデータ [例]あるいいねボタンを投票したかどうか Page Static Data ページに特定のデータ [例]あるページで使われているいいねボタンのテンプレート Page Dynamic Data 時間と共に変化していくデータ [例]いいねボタンの投票数 App Static Data 実行するスクリプト インストールされたアポに特定のデータ [例]速答君がOnかOffか インストールされたアドオンのリソース(HTML,CSS) App Dynamic Data アプリケーション全体で、時間とともに変化していくデータ ===================================================================== Page Dynamic DataとUser Dynamic Dataはキャッシュが難しい。 --------------------------------------------------------------------- Page Dynamic Dataのキャッシュ戦略 誰かが投票したら、そのページの投票数のキャッシュは無効しなければいけない。 もしその投票者がその後1分間、投票しなかったら、setTimerで 「ページの投票数のキャッシュ」の再構築をサーバーに指示をだす。 --------------------------------------------------------------------- User Dynamic Dataのキャッシュ戦略 初回のアクセスではデータベースからロードしなければならない。 ロードしたデータはsessionStorageにキャシュとしてコピーしておく。 User Dataが変化したら、サーバー側に伝えると同時に、 sessionStorageにキャッシュもアップデートする。 sessionStorageに値が見つかる限り、サーバーからロードはしない。 =====================================================================