HTTPキャッシュ

HTTPキャッシュとは

ここで言うHTTPキャッシュとは、ETagによる通信量の軽減を指します。

例えば、あるリクエストでDMの一覧を取得したとします。次に10分後に再度確認した際に、新たなDMが届いていなければ、取得できる内容は前回と同じものだということになります。この時、全く同じ内容を送信してもらうことは、サーバ側(Twitter側)とクライアント側(実行サーバ)両方の負担になります。
これを軽減するためにETagを用いると、サーバ側から「前回と変わっていないので、前に送ったものを使ってください」というだけの通信が行われるようになります。

この仕組みを自動的に行うのがHTTPキャッシュです。利用シーンによっては非常に有効ですが、毎回ほぼ必ず結果が変化しているようなリクエストではほとんど意味がありません。

必要に応じて、使うかどうかを決めてください。

キャッシュディレクトリの作成

好きな場所に作ってください。
作成したディレクトリには、実行ユーザによる書き込み権限があることを確認してください。

現時点でガーベージコレクションを用意していないため、Unix系のプラットフォームであれば/tmp/などにしてしまうのが良いかもしれません。

パスの指定は、Tuitter::setHttpCacheで行います。

$tuitter->setHttpCache(new Tuitter_Cache_File('/path/to/dir/'));