PHP Cache是​​否在用户之间共享?

时间:2012-07-05 09:33:02

标签: php caching

看看这段代码:

$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
}

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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