2011-07-30 4 views
1

GETパラメータによれば、出力HTMLを保存して自分のキャッシュに保存します。次に呼び出されるときに、キャッシュをロードします。 ob_start()ob_get_contents()の使い方は簡単ですが、その間に実行されている他のスクリプトもこれを使用すればどうなりますか?それは "元の"出力バッファリングを駄目にします。PHP自分のキャッシュシステム(出力バッファ)が必要です

出力をグローバルに保存するにはどうすればよいですか?

+0

データベースからフェッチする必要があるキャッシュ全体のデータをキャッシュに入れないでください。 –

+4

データのみをキャッシュしないで、ページ全体をキャッシュします。 ; D –

+1

私はJensと一緒にこのページをキャッシュしています。データベースから読み込むのは、ファイルから読み込むのと同じくらい速いです。 「コンピュータサイエンスには、キャッシュの無効化と名前付けという2つの難しいことしかありません」(Phil Karlton)ということを覚えておいてください。だから、キャッシュファイルをいつ書き換えるかを知っておいてください。 – Flambino

答えて

2

PHP manual for ob_startを引用すると:

出力バッファは 別ob_start()がアクティブなときにob_start()を呼び出すことができ、つまり、スタッカブルです。適切な回数だけ ob_end_flush()に電話をかけるようにしてください。

つまり、いいえ、元の出力バッファリングを損なうことはありません。バッファリングを入れ子にすることができます。また、ob_end_flush()の代わりにob_get_flush()を使用して、バッファリングを「停止」することもできます。

関連する問題