Mar 09, 2006
[Misc] AJAX におけるクライアントサイドのキャッシュ機構
作り方にもよるが、非AJAX よりも AJAX の方がサーバサイドへのリクエスト数が増える。
HTML で問題になりがちな部分更新を AJAX で解決しようとすればするほどリクエスト数が増えてしまう。
というわけで、サーバサイドの負荷を減らすべく AJAX でクライアントサイドのキャッシングを実施する方法を思案中。
ちなみに、考えているだけで実際に試したわけではないので要注意。
AJAX におけるキャッシング
Cookie
Cookie にデータを保持する。JavaScript がローカルのファイルシステムにアクセスできる唯一の方法。
- (一定期間)永続化できる
- サイズ制限がある(参考: クッキーの最大サイズ制限について)
非表示レイヤー
JavaScript で表示されない(display: none)レイヤーを作成し、その中にデータを保存する。
- 永続化できない(HTMLリロードで消える)
→但し、サーバサイドと連携すれば多少は永続化出来る。 - (一応)サイズ制限はない
- オンメモリで保持されるため、クライアントの負荷が大きい?
Cookie のサイズ制限を考えると、非表示レイヤーを使う方が現実的か。 実際に運用されているサービスはどうしているのだろう?? 今度調べてみよう。