ホームページ > バックエンド開発 > PHPチュートリアル > PHP5.3のインストールlibmemcached拡張方法と簡単なexample_PHPチュートリアル

PHP5.3のインストールlibmemcached拡張方法と簡単なexample_PHPチュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-13 17:08:36
オリジナル
1128 人が閲覧しました

libmemcached は、C および C++ 言語で実装された memcached ライブラリ、クライアント ライブラリ、クライアント ライブラリであり、メモリ使用量が低く、スレッド セーフであり、memcached 関数の包括的なサポートを提供します。また、memcat、memflush、memrm、memstat、memslap (負荷生成) などのさまざまなコマンド ライン ツールも使用します。このライブラリは、キーのさまざまなハッシュ方法、分割キー、および統合ハッシュ配布の使用を許可するように設計されています

libmemcached に基づく php memcache クライアントには多くの利点があります

•ハッシュ一貫性のあるストレージ
•複数の取得/設定
•memcache キー文字列がデフォルトで 255Byte 未満であるという制限を回避して、キーを int に自動的にハッシュします
長い間サーバーを構成していなかったので、libmemcached の php memcached は最終的には自分でコンパイルする必要があると常々思っていました。プロセスを実行し、成功するまでに数回の試行が必要でした

インストールは2ステップです

•so ファイルとヘッダー ファイルを対象として libmemcached をインストールします
•memcachedphp 拡張機能をインストールします
libmemcaced は 0.x と 1.x の 2 つのメジャー バージョンに分かれており、2011 年 9 月 28 日に開始された 1.x バージョンはコンパイルが非常に面倒で、gcc4.0 以降の特別な設定が必要です。 0.x バージョンはシンプルで、最も高いバージョンは 0.53 なので、0.53 をインストールすることを選択します。

最高の製品は常にペアで表示されます。PHP の memcahed も 2.1.0 から始まり、libmemcached がバージョン 1.0.x である必要があります。

私は libmemcaced 0.53 を使用していますが、php-memcahed は 2.0.0 を選択しています。オープンソース ソフトウェアのバージョン管理は面倒です。

libmemcachedをインストールする


コードは次のとおりですコードをコピー wget https://launchpad.net/libmemcached/1.0/0.53/+download/libmemcached-0.53.tar.gz tar xvfz libmemcached-0.53.tar.gz cd libmemcached-0.53
./configure --prefix=/opt/libmemcached
作成&&インストール


PHP拡張機能をインストールする


コードは次のとおりですコードをコピー wget http://pecl.php.net/get/memcached-2.0.0.tgz tar zvxf memcached-2.0.0.tgz
cd memcached-2.0.0/

./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/opt/libmemcached/
作成&&インストール



make install は、memcached.so を ${php install dir}/extensions/no-debug-non-zts-20090626/ にインストールすることです。このディレクトリは PHP のバージョンによって異なります

最後のステップは、php.ini を変更し、extension=memcached.so を追加することです

すでにインストールされているので、簡単な例を見てみましょう

コードは次のとおりです コードをコピー


#include
2 #include
3 #include
4
5 名前空間 std を使用します;
6
7 int main(int argc,char *argv[])
8
9 //サーバーに接続します
10 memcached_st *memc;
11 memcached_return rc;
12 memcached_server_st *サーバー;
有効期限は 13 時間です;
14 個の uint32_t フラグ;
15
16 memc = memcached_create(NULL);
17 サーバー = memcached_server_list_append(NULL,"localhost",11211,&rc);
18 rc=memcached_server_push(memc,server);
19 memcached_server_list_free(サーバー);
20
21 文字列キー = "キー";
22 文字列値 = "値";
23 サイズ_t 値_長 = 値.長さ();
24 size_t key_length = key.length();
25
26
27 //データを保存します
28 rc=memcached_set(memc,key.c_str(),key.length(),value.c_str(),value.length(),expiration,flags);
29 if(rc==MEMCACHED_SUCCESS)
30{
31 cout 32 }
33
34 //データを取得します
35 char* result = memcached_get(memc,key.c_str(),key_length,&value_length,&flags,&rc);
36 if(rc == MEMCACHED_SUCCESS)
37
38 cout<<"値の取得:"< 39 }
40
41 //データを削除します
42 rc=memcached_delete(memc,key.c_str(),key_length,expiration);
43 if(rc==MEMCACHED_SUCCESS)
44
45 cout<<"キーの削除:"< 47
48 //無料
49 memcached_free(memc);
50 リターン 0;
51}
52
53

コンパイル: g++ -o testmemcached testmemcached.cpp -lmemcached
実行: ./testmemcached
結果: データ:値の保存に成功しました!
value:value の取得が成功しました!
キーの削除:キーが成功しました!


メモ

libmemcached は libmemcache ではないことに注意してください。前者は現在開発中ですが、後者は長い間更新されていません。

memcached は、メモリ データ キャッシュを通じてデータベース アクセスを削減し、それによって動的コンテンツ アプリケーション Web サイトの速度を向上させる、高性能の分散メモリ オブジェクト キャッシング システムです。 memcached の正式な開発とリリースは、サーバー側の接続の読み取りおよび書き込みプロトコルをリリースするものであり、動的コンテンツ アプリケーションの Web サイトで使用される動的スクリプトに依存します。具体的なリストは公式ウェブサイトをご覧ください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629821.html技術記事 libmemcached は、C および C++ 言語で実装された memcached ライブラリおよびクライアント ライブラリであり、メモリ使用量が低く、スレッド セーフであり、memcached 関数の包括的なサポートを提供します。 ...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート