インターネット技術の発展とアクセス数の爆発的な増加に伴い、Web サイトのパフォーマンスをいかに向上させるかが喫緊の課題となっています。キャッシュ テクノロジーは、Web サイトのパフォーマンスを向上させるために最も一般的に使用されるソリューションの 1 つです。非常に人気のあるバックエンド開発言語として、PHP は多くのキャッシュ テクノロジも提供しており、その中で最も一般的に使用されているのは Memcache キャッシュ テクノロジです。
Memcache は、高性能の分散メモリ オブジェクト キャッシュ システムであり、データ アクセス速度を向上させ、データベースの負荷を軽減するためによく使用されます。この記事では、PHP で Memcache キャッシュ テクノロジを使用してデータ読み取りパフォーマンスを向上させる方法を紹介します。
1. Memcache のインストールと構成
Memcache 拡張機能は PECL で入手できます。次のコマンドを使用して、Memcache 拡張機能をダウンロードしてインストールします。
$ pecl install memcache
次の行を php.ini ファイルに追加して、Memcache 拡張機能を有効にします。
extension=memcache.so
Linux サーバーで、次のコマンドを使用して Memcached サービスを開始します。
$ memcached -d -m 64 -u root -l 127.0.0.1 -p 11211
次を使用できます。次のコード スニペットは、Memcache が利用可能かどうかをテストします。
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
2. Memcache を使用してキャッシュするデータ
Memcache へのデータの保存は非常に簡単で、次のコードを使用してデータのキーと値のペアをキャッシュに保存します。
$memcache = 新しい Memcache;
$memcache->connect('localhost', 11211) or die ("接続できませんでした");
$memcache->set('key ', 'value', 0, 3600);
上記のコードは、「キー」と「値」を Memcache に保存し、キャッシュ時間は 3600 秒です。
Memcache キャッシュ内のデータを取得する必要がある場合は、次のコードを使用できます。
$memcache = 新しい Memcache;
$memcache->connect('localhost', 11211) or die ("接続できませんでした");
$data = $memcache->get ('key');
上記のコードは、Memcache からキー「key」の値を取得します。
Memcache にキャッシュされたデータを削除する必要がある場合は、次のコード スニペットを使用できます。
$memcache = 新しい Memcache;
$memcache->connect('localhost', 11211) or die ("接続できませんでした");
$memcache->delete('key ');
上記のコードは、キー「key」を持つデータを Memcache から削除します。
3. Memcache を使用してデータベース アクセスを高速化する
Memcache を使用してデータ読み取りパフォーマンスを向上させる場合、最も一般的なアプリケーション シナリオは、データをデータベースにキャッシュすることです。 Web サイトの特定のデータがデータベースから頻繁に読み取られる場合、Memcache を使用してこのデータをキャッシュすると、データベース サーバーの負荷が軽減され、Web サイトのパフォーマンスが向上します。
Memcache を使用してデータベース アクセスを高速化する手順は次のとおりです。
初めてデータをリクエストするときは、データベースからデータを取得し、Memcache に保存します。
$memcache = 新しい Memcache;
$memcache->connect('localhost', 11211) or die ("接続できませんでした");
$data = $memcache- >get('key');
if (!$data) { //Memcache にデータが存在しません
$db = new mysqli('localhost', 'user', 'password', 'database'); $result = $db->query('SELECT * FROM table'); $data = $result->fetch_all(MYSQLI_ASSOC); $db->close(); $memcache->set('key', $data, 0, 3600);
}
後続のリクエストでは、データベース クエリを回避するために Memcache キャッシュ データを呼び出します。
$memcache = 新しい Memcache;
$memcache->connect('localhost', 11211) or die ("接続できませんでした");
$data = $memcache- >get('key');
if ($data === false) { //データは Memcache に存在しないため、データベースから読み取る必要があります
$db = new mysqli('localhost', 'user', 'password', 'database'); $result = $db->query('SELECT * FROM table'); $data = $result->fetch_all(MYSQLI_ASSOC); $db->close(); $memcache->set('key', $data, 0, 3600);
}
上記のコードを使用すると、データベースからデータを読み取ることができ、Memcache を介してキャッシュした後、後続のリクエストでキャッシュにアクセスしてデータを取得できるため、データ読み取りパフォーマンスが向上します。
4. 概要
この記事では、PHP で Memcache キャッシュ テクノロジを使用してデータ読み取りパフォーマンスを向上させる方法を紹介します。データをメモリにキャッシュし、データベースへの頻繁なアクセスを回避することで、データベースの負荷を軽減し、Webサイトのパフォーマンスを向上させることができます。もちろん、Memcache キャッシュ テクノロジは完璧ではありませんが、実際のアプリケーションでは、Memcache は依然として効率的で信頼性の高いキャッシュ ソリューションです。
以上がMemcache キャッシュ テクノロジを使用して PHP でのデータ読み取りパフォーマンスを向上させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。