Zend Cache Backend静态删除/清除

时间:2012-02-19 20:17:37

标签: php zend-framework zend-cache

我正在尝试使用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

我做错了什么? 感谢。

1 个答案:

答案 0 :(得分:2)

$cache->remove()是后端remove()方法的代理。在这种情况下,您使用Static后端,因此我们在那里查看发生了什么。

我对该方法的阅读使我相信$id remove参数必须是文件名,因此:

$cache->remove('index'); 

会奏效。

清除缓存的更常用方法是使用clean()方法。请参阅the manual