7

キャッシュMySQL queriesする、PHPまたは失敗する簡単な方法はありますか? ページ全体をキャッシュすることはできますが、一部のデータは変更され、一部は変更されないため、機能しません。そうでない部分をキャッシュしたいと考えています。

4

5 に答える 5

11

これは、MySQL でクエリをキャッシュする方法の概要です。

于 2008-08-31T21:59:03.043 に答える
3

Zend Cacheを使用して、特にクエリの結果をキャッシュできます。

于 2008-09-01T15:54:16.330 に答える
1

試みていることに対して完全にやり過ぎかもしれませんが、eAcceleratorまたはmemcacheを見てください。定期的に変更されるクエリと変更されないクエリがある場合は、すべてのdbクエリをmysqlによって同じ時間キャッシュされたくない場合があります。

上記のようなキャッシュエンジンを使用すると、クエリごとに、データをキャッシュする期間を決定できます。したがって、ヘッダーにデータが頻繁に変更されない場合は、そのデータが現在キャッシュにあるかどうかを確認できます。ある場合は、データを返します。そうでない場合は、クエリを実行し、有効期間がNのキャッシュに入れます。ページが読み込まれるたびにN秒で、MySQLに近づくことなくキャッシュからデータがプルされます。その後、必要に応じて、キャッシュをバイパスして、データベースから他のデータを「ライブ」で自由にプルできます。

于 2008-09-01T07:42:26.013 に答える
1

クエリ キャッシュ サイズはデフォルトで 0 で、オフになっていると思います。my.cnf ファイルを編集して、少なくとも数メガバイトを割り当てます。PHPの変更は必要ありません:)

于 2008-09-01T02:01:16.067 に答える
0

ページ全体のキャッシュ ルートをお勧めします。一部のデータが変更された場合は、動的データの代わりにトークン/プレースホルダーを配置するだけです。これらのトークンを配置してページ全体をキャッシュし、トークンのキャッシュされたデータのトークンを後処理します。これで、動的コンテンツを含むページがキャッシュされました。

于 2009-12-10T08:29:06.237 に答える