ホームページ >バックエンド開発 >PHPチュートリアル >PHP 開発で Memcached を使用してデータをキャッシュする方法
インターネット アプリケーションの継続的な開発に伴い、データ ストレージとアクセスはアプリケーション開発における非常に重要なリンクとなっています。多くの場合、アプリケーションのパフォーマンス、応答速度、ユーザー エクスペリエンスを向上させるために、アプリケーション内のデータをキャッシュする必要があります。この記事では、Memcached を使用して PHP 開発でデータをキャッシュし、アプリケーションのパフォーマンスを向上させる方法を紹介します。
Memcached は、高性能の分散メモリ キャッシュ システムです。データをメモリにキャッシュするので、データをすばやく読み書きできます。 PHP 開発では、アプリケーションの応答速度とパフォーマンスを向上させるために、計算結果、データベース クエリ結果、その他のデータをキャッシュするために Memcached をよく使用します。
Memcached を使用してデータをキャッシュする前に、Memcached をインストールして構成する必要があります。 Linux システムでは、次のコマンドを使用して Memcached をインストールできます:
sudo apt-get update sudo apt-get install memcached
インストールが完了したら、Memcached の PHP 拡張機能もインストールする必要があります。 Ubuntu システムでは、次のコマンドを使用して Memcached PHP 拡張機能をインストールできます:
sudo apt-get install php-memcached
インストールが完了したら、php.ini 構成ファイルに次の構成を追加します:
extension=memcached.so
Then構成を有効にするには、Apache サービスまたは PHP-FPM サービスを再起動します。
Memcached を使用したデータのキャッシュは非常に簡単です。 Memcached 拡張機能が提供する関数を使用して操作するだけです。 Memcached を使用してデータをキャッシュする例を次に示します。
<?php // 连接到 Memcached 服务器 $memcached = new Memcached(); $memcached->addServer('localhost', 11211); // 将数据缓存到 Memcached 中 $memcached->set('key', 'value', 10); // 缓存 10 秒 // 从 Memcached 中读取数据 $value = $memcached->get('key'); if ($value === false) { // 缓存不存在,从数据库中查询数据 $value = 'data from database'; // 将从数据库中查询的数据缓存到 Memcached 中 $memcached->set('key', $value, 10); } echo $value;
上の例では、最初に Memcached インスタンスを作成し、Memcached サーバーを追加しました。次に、データをキーと値の形式で Memcached に保存し、データの有効期限を 10 秒に設定します。このデータにアクセスする必要がある場合は、まず Memcached からデータをクエリします。データが存在しない場合は、データベースからデータをクエリし、クエリ結果を Memcached にキャッシュします。
実際の開発では、Memcached のいくつかの高度な機能を使用してアプリケーションのパフォーマンスを最適化することもできます。一般的な高度な使用法をいくつか示します。
<?php // 连接到多个 Memcached 服务器 $memcached = new Memcached(); $memcached->addServers([ ['host1', 11211], ['host2', 11211] ]); // 自定义序列化和反序列化方法 $memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY); $memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON); // 批量操作 $values = [ 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' ]; $memcached->setMulti($values); // 自动失败转移 $memcached->setOption(Memcached::OPT_CONNECT_TIMEOUT, 100); $memcached->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT); $memcached->setOption(Memcached::OPT_SERVER_FAILURE_LIMIT, 5); $memcached->setOption(Memcached::OPT_RETRY_TIMEOUT, 2);
概要
Memcached を使用してデータをキャッシュすると、アプリケーションのパフォーマンスと応答速度が大幅に向上します。 PHP 開発では、Memcached PHP 拡張機能を使用してデータ キャッシュを実装できます。 Memcached を使用するプロセスでは、アプリケーションのパフォーマンスをさらに最適化するためにいくつかの高度な機能を使用することもできます。
以上がPHP 開発で Memcached を使用してデータをキャッシュする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。