Zend Cache Backend Статический Удалить / Очистить - PullRequest
2 голосов
/ 20 февраля 2012

Я пытаюсь реализовать кеш, используя 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 Ответ

2 голосов
/ 14 марта 2012

$cache->remove() является прокси для метода remove() бэкэнда. В этом случае вы используете Static бэкэнд, и мы смотрим туда, чтобы узнать, что происходит.

Мое чтение этого метода приводит меня к мысли, что параметр $id для remove должен быть именем файла, поэтому:

$cache->remove('index'); 

будет работать.

Более обычный способ очистки кэша - использовать метод clean(). См. руководство .

...