emcached は、キー データをメモリに保存するキー/値ストレージ システムで、データへのアクセス時間を大幅に短縮します。 Memcached を使用する利点は、システムに対するデータベースへのアクセスの負荷が軽減されるだけでなく、システムの応答速度も向上することは明らかです。どのようなシステムでmemcacheを使用する必要があるかについて、著者は、データ量が多くアクセス頻度が高いシステムでは、キャッシュの中間層としてMemcachedを使用することを推奨しています。
Memcached を使用する場合の欠点は、プログラムのコード量が増加することに加えて、データベースのリアルタイム性が保証されないことです。また、データベースの初回初期化に余分な時間がかかることです。しかし、これらの欠点は、その利点に比べれば非常に取るに足らないものです。
PHP には、Memcached を操作するための拡張機能が付属しています。これは、Memcached サーバーを操作するための一連の関数を提供します。これらは、
1.Memcached の接続関数 (connect、pconnect)
2.memcahced の操作関数 (set、pconnect) に分類されます。 get、delete、replace、flush)
3. マルチサーバー構成関数 (addServer)
4. ステータス監視関数 (getStats...)
以下は直感的な印象を与えるためのコードです: ( Memcached は 172.10.10.10、ポート番号 12121 にインストールされます)
$memcache = new Memcached();
$memcache->set(Key, Value); $memcache- >get(Key);
上記は主に Memcached の単純な操作プロセスを完了します: Memcached サーバーに接続し、値を設定し、値を取得します (Key の値は Value)。 addServer 関数と connect 関数について説明します。addServer は複数のサーバーを接続プールに配置し、connect は特定のサーバーにのみ接続します。addServer を使用してから connect を使用する場合、ここでは 1 つのサーバーのみが使用されます。
Memcached の使用法を紹介した後、独自の PHP Memcached クライアントを作成する方法を紹介します。
Memcached はサーバー側のプログラムであり、PHP のソケット プログラムを使用して接続し、それに応じて通信し、データ ストレージ操作を完了することができます。 PHP を使用して Memcached と通信するには、まず Memcached の通信プロトコルを知る必要があります。関連情報は Memcached ソース コードの doc/protocol.txt にあります。
ここでは get コマンドを使用してプロセスを示します
このコマンドは主にデータからデータを抽出するためのものです。入力形式は次のとおりです: get key
サーバーにこの値がない場合、次の値が返されます: END
この値の場合存在する場合、次の値が返されます: VALUE key データ ブロック
次のコードは、単純なシミュレートされたクライアント操作です
$fp = fsocketopen(172.10.10.10, $errorno, $errstr, 1);
if(!$ fp)
echo "$errstr";
else
$out = "キーを取得 ";
fwrite($out);
while(!feof($fp))
$str . ($fp);
if(stripos($str, END) ===0)
exit("値が見つかりません")
$arr = implode( , $str);
echo $arr[1];
上記のコードを簡単に説明すると、fsocketopen を使用してサーバーのソケット通信インターフェイスを開き、それに get key コマンドを送信して、返されたデータを取得し、返されたデータを解析します。ここには例外処理はありません。プログラミング中に入力する必要があります。
http://www.bkjia.com/PHPjc/486177.html
www.bkjia.com
true