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
}

このドキュメントで説明されているように、既に処理されている場合、上記はブロック ステートメントに入らないため、時間が更新されません。有効期限が 30 秒に設定されているとします。

訪問者 A が来て、出力がキャッシュされるため、明らかに、訪問者は 30 秒間複数の更新を同時に行うことになります。私の質問は、訪問者 B が同じ時間に訪れた場合、訪問者 A と同じ時間が表示されるのでしょうか?

4

1 に答える 1

1

はい、彼はそうするでしょう。その理由は、キャッシュを使用する必要があるからです。すべてのユーザーのデータを何度も処理しないでください。ユーザー固有のものでキャッシュIDを作成できます

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

ただし、キャッシュする価値があるかどうかを自問する必要があります。

于 2012-07-05T09:34:46.450 に答える