0

看看这段代码:

$cache = Zend_Cache::factory('Output',
                             'File',
                             $frontendOptions,
                             $backendOptions);

// we pass a unique identifier to the start() method
if(!$cache->start('mypage')) {
    // output as usual:

    echo 'Hello world! ';
    echo 'This is cached ('.time().') ';

    $cache->end(); // the output is saved and sent to the browser
}

正如this doc解释的那样,如果上面已经处理过,则不会进入block语句,因此,时间不会刷新。假设过期时间配置为 30 秒。

访问者 A 来了,输出被缓存了,所以很明显,访问者会看到相同的时间多次刷新 30 秒。我的问题是,如果访客 B 同时出现,他是否会看到与访客 A 相同的时间,因为它已经缓存或缓存将是用户特定的?

4

1 回答 1

1

是的,他会,因为这就是为什么要使用缓存的原因:不要一遍又一遍地为每个用户处理内容。您可以使用特定于用户的内容创建缓存 ID

$cache->start('mypage'.$userId);

但是你应该问问自己是否真的值得缓存。

于 2012-07-05T09:34:46.450 回答