Memcache は、データベース クエリの結果や API 応答など、頻繁に読み取る必要がある一般的なデータをキャッシュするために使用できるメモリベースのキャッシュ システムです。 PHP 開発では、Memcache を使用すると、アプリケーションのパフォーマンスが大幅に向上します。この記事では、PHP 開発で Memcache を使用して効率的なデータ キャッシュとストレージ操作を実現する方法を紹介し、具体的なコード例を示します。
Memcache を使用する前に、Memcache 拡張機能とサーバーをインストールして構成する必要があります。コマンド sudo apt-get install php-memcached
を使用して、PHP 用の Memcache 拡張機能をインストールできます。
拡張機能をインストールした後、Memcache サーバーを構成する必要があります。通常、Memcache サーバーはサーバー側で実行され、クライアント アプリケーションにサーバーの IP アドレスとポート番号を伝える必要があります。 PHP プログラムでは、次のコードを使用して接続できます。
$memcache = new Memcached(); $memcache->addServer('127.0.0.1', '11211');
このうち、127.0.0.1
は Memcache サーバーの IP アドレス、11211
は Memcache サーバーの IP アドレスです。デフォルトの Memcache ポート番号。
Memcache を使用してデータを保存するのは非常に簡単で、set
関数を使用するだけです。たとえば、データベース クエリの結果を Memcache に保存し、次回クエリを実行するときに Memcache から取得できます。具体的なコード例は次のとおりです。
// 建立一个数据库连接 $conn = mysqli_connect('localhost', 'username', 'password', 'database'); if (!$conn) { die('Could not connect: ' . mysqli_error()); } // 查询数据 $sql = "SELECT id, name, age FROM users WHERE id=1"; $result = mysqli_query($conn, $sql); // 将结果存储到 Memcache 中 $memcache->set('user_1', $result, 3600); // 过期时间为 3600 秒 // 关闭数据库连接 mysqli_close($conn);
上記のコードでは、データベースの users
テーブル内の id
が 1 であるレコードをクエリし、保存します。 # #user_1 のキャッシュ キーでは、有効期限は 3600 秒です。このようにして、次回クエリを実行するときに、データベースに再度クエリを実行することなく、Memcache キャッシュから直接結果を取得できます。
get 関数を使用するだけです。指定されたキーがキャッシュに存在しない場合は、
false が返されます。具体的なコード例は次のとおりです。
// 从 Memcache 中获取数据 $result = $memcache->get('user_1'); // 如果数据不存在,则查询数据库并存储到 Memcache 中 if ($result === false) { $conn = mysqli_connect('localhost', 'username', 'password', 'database'); if (!$conn) { die('Could not connect: ' . mysqli_error()); } $sql = "SELECT id, name, age FROM users WHERE id=1"; $result = mysqli_query($conn, $sql); $memcache->set('user_1', $result, 3600); mysqli_close($conn); } // 输出查询结果 while ($row = mysqli_fetch_assoc($result)) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . '<br />'; }上記のコードでは、まず
user_1 という名前のデータを Memcache キャッシュから取得します。データが存在しない場合は、データベースにクエリが実行されて Memcache に保存され、クエリ結果が出力されます。
delete 関数を使用してこれを実行できます。具体的なコード例は次のとおりです。
// 删除缓存中名为 user_1 的键 $memcache->delete('user_1');上記のコードでは、
user_1 という名前のキャッシュ キーを削除したため、次回クエリを実行するときにデータベースからデータを取得する必要があります。また。
以上がMemcache を使用して、PHP 開発で効率的なデータ キャッシュとストレージ操作を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。