Zend_Cacheでcached_entityを使った場合の個別削除方法 | iwaのブログ

iwaのブログ

フリーでweb系のエンジニアやってます
備忘録的に書いていきます

clean()メソッドでtag指定することで削除できるらしいんだけど

cached_entity指定したい場合はキャッシュするときにどうやってtag指定すんねん!ってことで調査した

どうやらsetTagsArray()ってメソッドがあるらしい

キャッシュするときは
$cached_entity = [キャッシュしたいクラス];
$tag = [削除するときに必要];

$cache = Zend_Cache::factory('Class', 'File',
        array(
                'lifetime' => '86400',
                'cached_entity' => $cached_entity
        ),
        array(
                'cache_dir' => self::PATH
        )
);
$cache->setTagsArray(array($tag));

で、削除するとき
$cache->clean(
        Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG,
        array($tag)
);
これでいけた