我正在尝试使用Zend Cache实现缓存。我使用以下代码初始化缓存。
$tagCache = Zend_Cache::factory('Core',
'File',
array('automatic_serialization' => true),
array('cache_dir' => $cfg['instdir']. 'Cache_dir'));
$cache = Zend_Cache::factory('Capture',
'Static',
array(),
array('index_filename' => 'index',
'public_dir' => $cfg['instdir'] . 'Cached',
'tag_cache' => $tagCache));
我使用以下代码开始缓存:
$id = bin2hex($_SERVER["REQUEST_URI"]);
$cache->start($id, array());
生成缓存文件,但我无法使用remove()
方法删除它们(缓存不刷新):
$cache->remove($id); // id generated like above from the REQUEST_URI of the page I want to refresh
我做错了什么? 感谢。
答案 0 :(得分:2)
$cache->remove()
是后端remove()
方法的代理。在这种情况下,您使用Static
后端,因此我们在那里查看发生了什么。
我对该方法的阅读使我相信$id
remove
参数必须是文件名,因此:
$cache->remove('index');
会奏效。
清除缓存的更常用方法是使用clean()
方法。请参阅the manual。