キャッシュMySQL queries
する、PHP
または失敗する簡単な方法はありますか? ページ全体をキャッシュすることはできますが、一部のデータは変更され、一部は変更されないため、機能しません。そうでない部分をキャッシュしたいと考えています。
5 に答える
これは、MySQL でクエリをキャッシュする方法の概要です。
Zend Cacheを使用して、特にクエリの結果をキャッシュできます。
試みていることに対して完全にやり過ぎかもしれませんが、eAcceleratorまたはmemcacheを見てください。定期的に変更されるクエリと変更されないクエリがある場合は、すべてのdbクエリをmysqlによって同じ時間キャッシュされたくない場合があります。
上記のようなキャッシュエンジンを使用すると、クエリごとに、データをキャッシュする期間を決定できます。したがって、ヘッダーにデータが頻繁に変更されない場合は、そのデータが現在キャッシュにあるかどうかを確認できます。ある場合は、データを返します。そうでない場合は、クエリを実行し、有効期間がNのキャッシュに入れます。ページが読み込まれるたびにN秒で、MySQLに近づくことなくキャッシュからデータがプルされます。その後、必要に応じて、キャッシュをバイパスして、データベースから他のデータを「ライブ」で自由にプルできます。
クエリ キャッシュ サイズはデフォルトで 0 で、オフになっていると思います。my.cnf ファイルを編集して、少なくとも数メガバイトを割り当てます。PHPの変更は必要ありません:)
ページ全体のキャッシュ ルートをお勧めします。一部のデータが変更された場合は、動的データの代わりにトークン/プレースホルダーを配置するだけです。これらのトークンを配置してページ全体をキャッシュし、トークンのキャッシュされたデータのトークンを後処理します。これで、動的コンテンツを含むページがキャッシュされました。