Zend Cache 不会从其缓存中读取数据


Zend Cache doesn't read from its cache

我编写了函数来缓存我网站中的每个页面,并将此函数放在 Bootstrap 文件中。

缓存文件在每个请求上创建,即使是同一页面。

我错过了什么吗?

即使我从配置中删除正则表达式数组,它也不起作用。

Zend 1.12.3

protected function _initCache() {
    $cachePath = APPLICATION_PATH
        . DIRECTORY_SEPARATOR
        . '..'
        . DIRECTORY_SEPARATOR
        . '_cache';
    $fO = array(
        'lifetime' => 7200,
        'automatic_serialization' => true,
        'regexps' => array(
            '^/admin/' => array(
                'cache' => false
            ),
            '^/account/' => array(
                'cache' => false
            ),
            '^/cart/' => array(
                'cache' => false
            ),
        ),
        'content_type_memorization' => true,
        'default_options' => array(
            'cache' => true,
            'cache_with_get_variables' => true,
            'cache_with_post_variables' => true,
            'cache_with_session_variables' => true,
            'cache_with_cookie_variables' => true,
        ),
    );
    $bO = array(
        'cache_dir' => $cachePath
    );
    $cache = Zend_Cache::factory('Page', 'File', $fO, $bO);
    $cache->start();
}

来自 zend docs:

注意:使用 Zend_Cache 时,请注意重要的缓存标识符(传递给 save() 和 start())。对于您缓存的每个资源,它必须是唯一的,否则不相关的缓存记录可能会相互擦除,或者更糟糕的是,显示代替另一个。

阅读更多