我使用如下的語句清除快取:
$cache->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array($uid,'PERMISSIONS'));
此時沒有辦法清除緩存,我確保$uid和PERMISSIONS組成的標籤是正確的。我的快取save的程式碼為:
$cache_tag=array($uid,'PERMISSIONS');
$cache->save($cache_data,$cache_id,$cache_tag);
當我使用下面的方式卻可以清除
$cache->clean(Zend_Cache::CLEANING_MODE_ALL);
這是為什麼呢? ?
解決了,原因是zf的memcache cache不支援tag的移除,參見原始碼