私はPHPで使用できるキャッシュの方法は何ですか?いくつかの変数がキャッシュメソッド?
キャッシュHTML出力
キャッシュ複数のキャッシュ方法を実装するために素晴らしいことだので、私はそれらすべてを必要とする、(私はファイルを現在のキャッシングんそこにすべての可能な、任意の他のアイデア?)
私はPHPで使用できるキャッシュの方法は何ですか?いくつかの変数がキャッシュメソッド?
キャッシュHTML出力
キャッシュ複数のキャッシュ方法を実装するために素晴らしいことだので、私はそれらすべてを必要とする、(私はファイルを現在のキャッシングんそこにすべての可能な、任意の他のアイデア?)
を見てください、cacheingの議論の余地を作り、呼び出しの間持続します何もありません。
これは基本的な見解です。もちろん、キャッシング、ソート、そしていくつかのパッケージや拡張を実装する方法があります(Zend ExtensionsやAPCのように)。ただし、パフォーマンスを実際に向上させるかどうかは、非常に近い見通しにする必要があります。 memcache(DB結果用)やPHPからPHPへの切り替えなどの他の方法Javaはしばしばより良い結果を生み出します。
変数は$ _SESSIONに格納できますが、そこにはより大きなHTMLを保存しないでください。
実際に何をしようとしているか確認してください。 「バイトコードのキャッシュ」(つまり、PHP解析時間の保存)は、PHPランタイム実行可能ファイルによって実行する必要があります。データベース(SQL)要求/応答ペアをキャッシュする場合、memcacheがあります。 HTML出力をキャッシュする場合はcan be doneですが、しばしば良い考えではありません。
an earlier answer on a similar questionも参照してください。
厳密に言えば、$ _SESSIONグローバルは、同じクライアントからの複数のリクエスト間で共有できるものですが、データベースやファイルシステムに依存したくない場合は、memcacheやAPCが引き続き利用できます。 –
はい、私は知っています。それが私が「基本的な見解」を書いた理由です。もちろん、これにはいくつかの方法があります。 $ _SESSIONキーにファイル名を格納するなど、ファイルにserialize()を行い、それを読み戻します。しかし、このアプローチは、あなたが何をするかに応じて*より速く*より遅くなる*かもしれません。特化した拡張機能は、それぞれの分野で優れた仕事をすることができますが、それらをランダムに選ぶ前に、実際の要件/目標が何であるかを確認することが重要です。 – foo
私は彼が好きなキャッシュメソッドを選択するサイトの管理オプションを与えたいので、PHPのすべての利用可能なキャッシュメソッドが必要です。すべて –
フレームワークを使用している場合、ほとんどの場合、使用できるキャッシュメカニズムの形式があります。 Zend FrameworkのZend_Cache。 フレームワークを使用していない場合は、前述のPelle ten CateのAPCまたはMemcacheを使用できます。正しい使用方法はあなたの状況にもよりますが、あなたのウェブサイトやアプリケーションをサーバ以上で稼動させているのですか?キャッシュ内の情報をそれらのサーバ間で共有する必要がありますか? (もしそうなら、memcacheのようなものはあなたの答えです。あるいは、あなたが勇気を感じているならば、データベースや分散型NoSQLの解決策かもしれません)。 コードが1つのサーバ上でのみ実行されている場合、変数のシリアライズやディスクへの書き込み、その後の各リクエスト時にファイルが存在するかどうかを確認し、ファイルがあればそれを開いて、あなたが必要とする変数。 それは(、開いて読み、ディスク上のファイルをアンシリアライズするなど長く、それは希望より) 、通常varaibleを生成するのに長い時間がかかる場合は、このしかし、それだけの価値がある
HTMLのキャッシングのためにあなたは、一般的にしようとしていますワニスやイカのようなプロキシを使うのが一番楽しいですが、これはあなたのためのオプションではないかもしれません。 もしそうでなければ、私は上記のディスクへの書き込みアプローチを行い、HTMLのチャンクをファイルに保存することができます。 ob_startとその友人のためのPHPマニュアルを見てください。
ありがとう! 1つの質問は、私が格納したい私のデータは、データベースから取得されているので、私は結果をキャッシュする理由はクエリを減らしたいと思うthats結果は、データベースのデータを含む生成されたHTMLページです。 )、それを行う唯一の方法は、データベースを何度も何度も使用するのではなく、HTML出力をファイルに保存することです。出力をファイルに保存する以外の方法がありますか? memcacheは遅いと思います。私は1台のサーバーを使用しています。 –
1つのサーバーしか使用しない場合は、memcacheを使用する上で本当の意味はありません。何があなたのデータベースクエリを遅くする?ページごとにたくさんのことをしなければならないのでしょうか、それとも複雑で実行が遅いのでしょうか?どちらの方法でも、キャッシュされたアイテムにアクセスするためのクエリは非常にシンプルで迅速になるため、キャッシュされた出力をDBに保存できます。 SELECT content FROM cache_table WHERE id = 2; –
キャッシュを探していますか? – polarblau
"キャッシュ"とは、単にコンテンツをキャッシュすること、またはmemcachedなどのシステムを使用することを意味しますか? (明確にするためにあなたの質問を更新してください) –
HTML出力、および時にはいくつかの変数 –