PHPキャッシュ技術の使用説明
1494 ワード
ほとんどの場合、サイトのデータ格納容器としてデータベースを使用します。SQLクエリを実行すると、典型的な処理手順は、データベースに接続します。SQLクエリを準備します。データベースにクエリを送信します。データベースの結果を取得します。データベース接続をオフにします。しかし、データベースの中には完全に静的なデータや頻繁に変動しないデータがあります。キャッシュシステムはSQLクエリの結果をより速いストレージシステムにキャッシュすることによって、データベースを頻繁に操作することを避け、プログラム実行時間を大幅に向上させ、キャッシュクエリ結果も後期処理を許可します。一般的に使用されているPHPキャッシュ技術のデータキャッシュ:ここでいうデータキャッシュとはデータベースクエリキャッシュを指し、ページにアクセスするたびに、該当するキャッシュデータが存在するかどうかを先に検出し、存在しない場合はデータベースに接続し、データを取得し、検索結果を逐次ファイルに保存します。これからも同じクエリー結果がキャッシュファイルから直接取得されます。PHPキャッシュ技術のページキャッシュ:ページにアクセスするたびに、該当するキャッシュページファイルが存在するかどうかを確認します。存在しない場合は、データベースに接続し、データを取得し、ページを表示し、同時にキャッシュページファイルを生成します。このようにして、次の訪問時にはページファイルが機能します。テンプレートエンジンとネットでよく見られるキャッシュ類には通常この機能があります。PHPキャッシュ技術のメモリキャッシュ:ここでは紹介しません。ここで議論するのではなく、簡単に紹介します。dbcachedはMemcachedとNMDBに基づく分散型key-valueデータベースメモリキャッシュシステムです。以上のキャッシュ技術は頻繁にデータベースを検索する問題をよく解決できますが、その欠点はデータの無時効性にあります。以下はプロジェクトでよく使われる方法を紹介します。ファイルの変更されたタイムスタンプが現在のタイムスタンプから減算されたタイムスタンプより大きい場合、キャッシュを使ってキャッシュを更新します。設定時間内にデータを更新するかどうかを判断しないで、設定時間を過ぎたらキャッシュを更新します。以上は時効性に対する要求が高くない場合のみ使用します。そうでなければ下を見てください。PHPキャッシュ技術の内容はキャッシュをトリガします。データを挿入したり、データを更新したりすると、キャッシュを強制的に更新します。ここでは、大量のデータが頻繁に更新される場合、最後にディスクの読み書き操作に関わることができます。どう解決しますか私は日常のプロジェクトの中で、通常はすべての内容をキャッシュするのではなく、キャッシュの一部がよく変わっていない内容で解決します。しかし、大きな負荷がある場合は、共有メモリをキャッシュシステムとして使用したほうがいいです。ここに来てPHPキャッシュは少し解決したかもしれませんが、要求毎にPHP解析を行うので、大きな負荷の場合は効率的な問題はやはり効果的です。この場合は、スタティックキャッシュを使うかもしれません。PHPキャッシュ技術の静的キャッシュとは、ここでいう静的キャッシュとはHTMLキャッシュのことで、HTMLキャッシュは、データが更新されるかどうかを判定する必要がないので、通常はHTMLを使用する場合は、通常は内容を変更しないページです。データの更新時にHTMLも強制的に更新すればいいです。