検索
ホームページバックエンド開発PHPチュートリアルPHP で Memcached を使用する方法、PHP で Memcached を使用する_PHP チュートリアル

PHP は Memcached をどのように使用しますか? PHP は Memcached を使用します

1. memcached の概要 memcached は、高性能の分散メモリ キャッシュ サーバーです。使用の一般的な目的は、データベース クエリ結果をキャッシュし、データベース アクセスの数を減らすことによって、動的 Web アプリケーションの速度とスケーラビリティを向上させることです。任意の数の接続を処理でき、ノンブロッキング ネットワーク IO を使用します。 Memcached の動作メカニズムは、メモリ内のスペースを開いて HashTable を作成することであるため、Memcached はこれらの HashTable を独自に管理します。

2. Memcached のインストール


最初のステップは、memcached の最新バージョン 1.1.12 を公式 Web サイトから直接ダウンロードすることです。また、memcached は libevent を使用しており、libevent-1.1a.tar.gz をダウンロードしました。

次のステップでは、libevent-1.1a.tar.gz と memcached-1.1.12.tar.gz をそれぞれ解凍、コンパイル、インストールします。 # tar -xzf libevent-1.1a.tar.gz # cd libevent-1.1a# ./configure --prefix=/usr# make# make install# cd .. # tar -xzf memcached-1.1.12.tar.gz# cd memcached-1.1.12 # ./configure --prefix=/usr# make# make install

インストールが完了すると、memcached は /usr/bin/memcached に存在するはずです。



3. memcached デーモンを実行します

memcached デーモンの実行は非常に簡単で、コマンドラインだけで実行でき、設定ファイルを変更する必要はありません (変更する必要がある設定ファイルはありません):
/usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd
パラメータの説明:

-d は memcached をデーモン モードで実行します。 -m は memcached が使用できるメモリ サイズを M で設定します。 -l はローカル マシンの場合、通常、このパラメータを設定する必要はありません。リスニング ポートを設定します。デフォルトは 11211 であるため、このパラメータを設定する必要はありません。-u はユーザーを指定します。現在 root である場合は、このパラメータを使用してユーザーを指定する必要があります。


もちろん、man memcached を実行すると、使用できるパラメータが他にもあります。


4. memcached の仕組み

まず第一に、memcached は 1 つ以上のサーバーでデーモンとして実行され、クライアント接続操作をいつでも受け入れます。現在知られているクライアント API には、Perl/PHP/Python/Ruby/Java /C#/C などがあります。等PHP および他のクライアントが memcached サービスとの接続を確立したら、次にアクセスするオブジェクトには一意の識別子キーがあり、アクセス操作はこのキーを通じて実行され、memcached に保存されます。 、キャッシュ ファイルに保存されないため、memcached は非常に効率的かつ高速になります。これらのオブジェクトは永続的ではないため、サービスが停止されると内部のデータが失われることに注意してください。

5. PHP を memcached クライアントとして使用する方法

PHP を memcached クライアントとして使用して、オブジェクト アクセス操作のために memcached サービスを呼び出す方法は 2 つあります。
まず、PHP には memcache という拡張機能があります。Linux でコンパイルする場合、Windows では、php.ini の php_memcache.dll の前のコメントを削除する必要があります。 。


さらに、展開と再コンパイルによる問題を回避する別の方法として、php-memcached-client を直接使用する方法があります。


この記事では2番目の方法を使用しますが、拡張ライブラリよりも若干効率は悪くなりますが、大きな問題はありません。


6. PHP memcached アプリケーションの例

最初に memcached-client.php をダウンロードします。memcached-client.php をダウンロードした後、このファイル内のクラス「memcached」を通じて memcached サービスを操作できます。実際、コード呼び出しは非常に単純で、使用される主なメソッドは add()、get()、replace()、delete() です。メソッドの説明は次のとおりです。
コードをコピーします

コードは次のとおりです:

($key, $val, $exp = 0) を追加します

オブジェクトを memcached に書き込みます。$key はオブジェクトのデータです。$exp は秒単位で指定します。 ($key)を取得

オブジェクトの一意の識別子 $key を通じて memcached からオブジェクト データを取得します。


コードをコピーします

コードは次のとおりです:

($key, $value, $exp=0) を置き換えます

$value を使用して、memcached の識別子 $key に置き換えます。パラメータは、$key オブジェクトが存在する場合にのみ機能します。
コードをコピーします

コードは次のとおりです:

削除($key, $time = 0)


memcached 内の $key という識別子を持つオブジェクトを削除します。 $time は、削除するまでの待機時間を示すオプションのパラメーターです。

以下は、識別子「mykey」を持つオブジェクト データにアクセスする簡単なテスト コードです:

リーリー

実際のアプリケーションでは、通常、データベース クエリの結果セットは memcached に保存され、次回アクセスするときに、データベース クエリ操作を実行する代わりに memcached から直接取得されます。データベースの負担が大きく問題になります。通常、SQL ステートメント md5() の後の値が一意の識別子のキーとして使用されます。以下は、memcached を使用してデータベース クエリ結果セットをキャッシュする例です (このコード スニペットは上記のコード例に続きます):

リーリー

memcached を使用すると、データベース接続とクエリ操作が削減され、データベースの負荷が軽減され、スクリプトの実行速度も向上することがわかります。

以前「PHPでSESSIONデータのマルチサーバー共有を実現する」という記事を書きましたが、その記事内のSESSIONはデータベースを利用して保存されており、同時アクセス数が多いとサーバーへの負荷が非常に大きくなります。多くの場合、接続数は MySQL の最大値を超えますが、memcached を使用すると、この問題をうまく解決できます。

ユーザーが Web ページにアクセスすると、memcached に現在のユーザーの SESSION データがあるかどうかを確認し、データが存在する場合は session_id() を一意の識別子として使用します。データが存在しない場合は、それが直接返されます。データベースに再度接続し、SESSION データを取得し、これを使用します。データは次回使用するために memcached に保存されます。現在の PHP 操作が終了すると (または session_write_close() が使用されます)、My_Sess::write() メソッドが実行されます。この場合、データベース操作もこのメソッド用に最適化する必要があります。ユーザーがページに入ったときにグローバル変数を使用して SESSION データを記録し、このデータを write() メソッドで比較して、書き込みたい SESSION データと同じかどうかを確認します。異なる場合は、に接続します。データベースを削除してデータベースに書き込み、同時に対応するデータを memcached に追加します。オブジェクトが削除された場合、それらが同じであれば、SESSION データは変更されていないことを意味するため、それを直接返すことができます。何も操作を行わずに、ユーザーの SESSION 有効期限を解決するにはどうすればよいでしょうか。 memcached の add() メソッドには有効期限パラメータ $exp があることを覚えていますか?このパラメータ値を SESSION の最大生存時間未満に設定するだけです。また、常にオンラインのユーザーの場合は、条件が満たされた場合にデータベースのデータが更新されるように、write() メソッドで解決できます。

上記の内容は編集者による PHP での Memcached の使い方の紹介です。お役に立てれば幸いです。

興味があるかもしれない記事:

  • Windows の PHP5.5 で memcached サーバーをインストールして使用する方法
  • PHP モジュール memcached の使用ガイド
  • PHP 拡張モジュール memcached の使い方の分析
  • memcached シンプルな PHP を使用する共有例

www.bkjia.com本当http://www.bkjia.com/PHPjc/1117022.html技術記事 PHP による Memcached の使用方法、PHP による Memcached の使用 1. Memcached の概要 Memcached は、高性能の分散メモリ キャッシュ サーバーです。一般的な使用目的は、データベース クエリの結果をキャッシュすることです...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。Apr 17, 2025 am 12:22 AM

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHP:サーバー側のスクリプト言語の紹介PHP:サーバー側のスクリプト言語の紹介Apr 16, 2025 am 12:18 AM

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPとWeb:その長期的な影響を調査しますPHPとWeb:その長期的な影響を調査しますApr 16, 2025 am 12:17 AM

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

なぜPHPを使用するのですか?利点と利点が説明されましたなぜPHPを使用するのですか?利点と利点が説明されましたApr 16, 2025 am 12:16 AM

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境