sfMemcachePluginでcacheのlifetimeが有効になってなかったので修正した
symfony 1.1からはデフォルトで対応してるmemcachedですが、1.0.XはsfMemcachePluginというプラグインを利用して使います。
導入方法については下記ページを参照してください。
sfMemcachePluginを使ってて、どーもcacheのlifetimeが有効になってないみたいだったので少しソースを見ていじってみました。
plugins/sfMemcachePlugin/lib/sfMemcacheCache.class.php 146〜149行目あたり
<?php if (!isset(self::$mem[$this->bucket])) throw new Exception ('This bucket was not setup correctly'); - if (!self::$mem[$this->bucket]->set ($path.$file, $std)) + if (!self::$mem[$this->bucket]->set ($path.$file, $std, false, $this->lifeTime)) throw new Exception ('Could not save in memcache');
sfMemcacheCacheクラスはsfFileCacheクラスを継承してるので、ファイルキャッシュ用に設定してあるメンバ変数のlifeTimeが取れます。それを利用すればyamlに書いてある設定がそのまま使えました。
ちなみに1.1のソースはsfCacheクラスから継承して、memcache用にキレイに書き直されてました。