クライアントキャッシュとは

setCache 系メソッドは Web サーバ側でのキャッシュですが、
ユーザのブラウザなどに
ページをキャッシュさせる仕組みもあります。

サーバキャッシュとクライアントキャッシュの違いは、
クライアントキャッシュはクライアント側に保存されるため、
キャッシュが有効なら
ブラウザは Web サーバへのアクセスを行わずに済みます。

Web サーバへのアクセスを行わないので
Web サーバへの負荷を大きく軽減できますが、
一旦クライアント側で生成されたキャッシュを
サーバ側から削除することはできません。
したがって、有効時間の設定が非常に重要になります。

クライアントキャッシュの設定

クライアントキャッシュの設定は setClientCache を使用します。

$ramp->setClientCache(mode);
$ramp->setClientCache(mode, lifetime);

mode は、キャッシュのコントロールモードです。
コントロールモードについては、次の段落をご覧ください。

lifetime は、キャッシュの有効時間です。
setCache系メソッドと同様、秒数で指定してください。

コントロールモード

setClientCache で指定できるコントロールモードは
以下の通りです。

Rampart::CACHE_NOキャッシュしない。
Rampart::CACHE_PUBLIC公開キャッシュ。
ブラウザだけでなく、プロキシにもキャッシュされる。
Rampart::CACHE_PRIVATEプライベートキャッシュ。
ブラウザにのみキャッシュされる。

Rampart::cache_public を使うと
プロキシサーバがページをキャッシュするので、
Webサーバの負荷を最も軽減できます。

ただし、プロキシサーバにキャッシュされたデータを
複数のユーザで共有することになるため、
もし、ユーザごとに個別の情報を出力するような場合には、
情報が第三者に漏えいする危険があります。

Rampart::cache_private
ユーザのブラウザにのみページをキャッシュします。
ユーザごとに個別の情報を出力するような場合には
このモードを使用します。

使用例は以下の通り。 // クライアントキャッシュを使用しない場合。
// ブラウザは毎回Webサーバにアクセスする。

$ramp->setClientCache(Rampart::CACHE_NO);

// 公開キャッシュを使用する場合。
// キャッシュはプロキシサーバに保存される。
// 同じプロキシサーバを利用して
// 同じページを閲覧するすべてのユーザは
// 60秒間、Webサーバへのアクセスを行わず、
// プロキシサーバに保存されたキャッシュを使用する。

$ramp->setClientCache(Rampart::CACHE_PUBLIC, 60);

// プライベートキャッシュを使用する場合。
// キャッシュはユーザのブラウザに保存される。
// 60秒間に再度同じページを閲覧する場合は、
// Webサーバへのアクセスを行わず、
// ブラウザに保存されたキャッシュを使用する。

$ramp->setClientCache(Rampart::CACHE_PRIVATE, 60);

補足

setClientCacheheader を出力します。
したがって、すべての出力の前に実行して下さい。