あなたは(それが大量のデータはありません、それは常にオーバーと何度も繰り返し使われていると仮定した場合)$_SESSION
可能な限りのデータを格納する必要があります。
あなたの最大の問題は、データが変更されるとどうなるかということです。
if(rand(0,100) < 10){
readSessionsFromPost();
}
別の方法は、ローカルのファイルを変更し、mtime
を経由してすべてのリクエストでそれをチェックすることです(と$_SESSION
の最後の値を格納):次のようなコードで随時それらをリフレッシュすることがあります。または、使用することができます:
$time = $db->fetch_one('SELECT MAX(mtime) FROM pages');
strtotime($time) >= $_SESSION['time'];
要約すると:
あなたが現在のデータを20リクエスト後に取得しても気にしない場合は、randと一緒に行くべきです(私は実際に気にしますが、これは決して使用しません:))。
ファイルアクセスを設定するアクセス権がある場合は、mtime
と変更された時刻を使用する必要があります(データベースでのリクエストは必要ありません)。
ユーザー数が少なく、サーバーのパフォーマンスに余裕がある場合は、毎回(またはデータが数秒ごとに変更されるとき)読み込むだけです。
キャッシュではオーバーヘッドが増えます。これらのデータのキャッシュがパフォーマンス上重要かどうかを判断する必要があります。
私はあなたの2つの提案を見ていきます。まだそれらを使用していないので、私はそれらを勉強する必要があります。回答いただきありがとうございます。 –