当サイトで公開しているサービスのキャッシュは、PEARのCache_Liteのモジュールを利用している。⇒キャッシュ方法変更
放っておくと、キャッシュファイルがどんどん溜まっていく。
ギガバイトレベルのキャッシュが溜まってしまうこともしばしば。
すごく困っていた。
しかし、良く調べてみたら、期限切れのキャッシュファイルを自動削除する方法があった。
automaticCleaningFactor というパラメータを設定する。
‘automaticCleaningFactor’=’10’とすれば、新規キャッシュ保存時に、1/10の確率で他のキャッシュで期限切れのものを消去してくれる。
例文はこんな感じ。
$options = array(‘cacheDir’ => ‘/temp/’,’caching’ => true,’lifeTime’ => 3600, ‘automaticCleaningFactor’ => ‘100’);
$Cat_Cache_Lite = new Cache_Lite($options);
この例文なら、1/100の確率でキャッシュをクリアしてくれる。
20?200が推薦値だそうだ。
これで、キャッシュ容量を最小限することができる(^^)
よしよし!
実際に組み込んでみたら、キャッシュが1/10くらいに減った。
本当に良かった。
コメント