ホームページ  >  記事  >  バックエンド開発  >  phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:55:35763ブラウズ

phpを使ってmemcacheを操作する方法【転送】、phpを使ってmemcacheを操作する方法

1.

Memcache は danga.com のプロジェクトで、最初は LiveJournal に提供されていました。現在、世界中の多くの人々がこのキャッシュ プロジェクトを使用して独自の負荷の大きい Web サイトを構築し、データベースへの負荷を共有しています。任意の数の接続を処理でき、ノンブロッキング ネットワーク IO を使用します。 Memcached の動作メカニズムは、メモリ内のスペースを開いて HashTable を作成することであるため、Memcached はこれらの HashTable を独自に管理します。 Memcache 公式 Web サイト: http://www.danga.com/memcached、詳細情報はここでご覧いただけます。

Memcache と memcached という 2 つの名前があるのはなぜですか?実際、Memcache はこのプロジェクトの名前であり、memcached はサーバー側のメイン プログラム ファイルの名前です。 1 つはプロジェクト名、もう 1 つはメイン プログラム ファイル名です。

Memcacheのインストール

これは、memcache サーバーのインストールと memcached クライアントのインストールの 2 つのプロセスに分かれています。

いわゆるサーバー側インストールは、データを保存するためにサーバー (通常は Linux システム) に Memcache をインストールすることです。

いわゆるクライアントインストールとは、PHP (または他のプログラム、Memcache には他の優れた API インターフェイスもあります) を指し、サーバー側で Memcache が提供する機能を使用するには、拡張機能を追加する必要があります。

memcache モジュールは、特に動的 Web プログラムの設計時にデータベース アクセスを削減するために、メモリ キャッシュ用の手続き型およびオブジェクト指向の便利なインターフェイスを提供する効率的なデーモンです。

memcache は、通信会話 (session_handler) の処理も提供します。

Memcache モジュールの詳細については、http://www.danga.com/memcached/ を参照してください。

1.1. php.iniのMemcache設定項目リスト

php.iniのmemcache設定項目リストmemcache.allow_failover「1」PHP_INI_ALLmemcache 2.0.2.以降で利用可能memcache.max_failover_attempts「20」PHP_INI_ALLmemcache 2.1.0 以降で利用可能memcache.chunk_size「8192」PHP_INI_ALLmemcache 2.0.2.以降で利用可能memcache.default_port「11211」PHP_INI_ALLmemcache 2.0.2.以降で利用可能memcache.hash_strategy「スタンダード」PHP_INI_ALLmemcache 2.2.0 以降で利用可能memcache.hash_function「crc32」PHP_INI_ALLmemcache 2.2.0 以降で利用可能セッション.save_handler「ファイル」PHP_INI_ALLmemcache 2.1.2以降でサポートセッション.保存パス「」PHP_INI_ALLmemcache 2.1.2以降でサポート

PHP_INI_* 定数の詳細と定義については、PHP マニュアルの php.ini 設定オプションを参照してください。

1.2. 設定項目の簡単な説明です

memcache.allow_failover ブール値

エラーが発生したときに処理のために他のサーバーに透過的にフェイルオーバーするかどうか (注: フェイルオーバーは動詞です)。

memcache.max_failover_attemptsinteger

サーバーの数値クラス設定を定義し、データを取得します。memcache.allow_failover と組み合わせてのみ使用します。

memcache.chunk_sizeinteger

データは指定されたサイズ (chunk_size) のチャンクに分割されて送信されます。この値 (chunk_size) が小さいほど、書き込み操作のリクエストが多くなります。他の原因不明の速度低下が見つかった場合は、この値を 32768 に増やしてみてください。

memcache.default_port文字列

memcache サーバーに接続するとき、ポートが指定されていない場合は、デフォルトの TCP ポートが使用されます。

memcache.hash_strategy文字列

キーをサーバーにマッピングするときにどの戦略を使用するかを制御します。この値を一貫して設定すると、ハッシュ アルゴリズムを一貫して使用できるようになり、サーバーがプールへの変数の追加または削除を受け入れるときに再マッピングされなくなります。この値を設定すると、古い戦略が使用された場合に標準の結果が得られます。

memcache.hash_function文字列

サーバーへのキー マッピング プロセスにどの hsah 関数を適用するかを制御します。デフォルト値「crc32」は CRC32 アルゴリズムを使用し、「fnv」は FNV-1a アルゴリズムの使用を示します。

session.save_handler文字列

この値を memcache に設定して、通信セッション処理 (セッション ハンドラー) に memcache を使用することを決定します。

session.save_path文字列

通話ストレージに使用される各サーバー リンクの区切り文字を定義します (例: "tcp://host1:11211, tcp://host2:11211")。

各サーバー リンクには、Memcache::addServer() を使用してサーバーを追加するのと同様に、サーバーによって受け入れられるパラメーターを含めることができます。例: "tcp://host1:11211?persistent=1&weight=1&timeout=1& amp; amp ;retry_interval =15インチ。

1.3.memcache 定数リスト

名前 デフォルト値 可変ですか 変更ログ
memcache定数リストMEMCACHE_COMPRESSED整数Memcache::set()、Memcache::add()、Memcache::replace() 関数を使用するときに圧縮率を調整するために使用されます。 MEMCACHE_HAVE_SESSION整数通信セッションハンドラーがその値の使用を許可されている場合は 1、それ以外の場合は値は 0 です。

2Memcache関数の機能一覧

2.1.Memcache::connect

2.1.1.手順

bool Memcache::connect ( string $host [, int $port [, int $timeout ]] )

memcacheサーバーに接続する

2.1.2.パラメータ

$host(string) サーバーのドメイン名または IP

$port(int) サーバーの TCP ポート番号、デフォルト値は 11211 です

$timeout 接続 memcache プロセスの有効期限。memcache キャッシュの利点がすべて失われ、接続が非常に遅くなるのを避けるために、デフォルト値の 1 を変更する前によく考えてください。

2.1.3.戻り値

成功した場合は true を返し、失敗した場合は false を返します

2.1.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアルphpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル/* 手続き型 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* OO API */
$memcache = 新しい Memcache;
$memcache->connect('memcache_host', 11211);
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアルphpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.2.Memcache::pconnect

2.2.1.手順

bool Memcache::pconnect ( string $host [, int $port [, int $timeout ]] )

常時接続モードでサーバーに接続します

2.2.2.パラメータ

$host(string) サーバーのドメイン名または IP

$port(int) サーバーの TCP ポート番号、デフォルト値は 11211 です

$timeout 接続 memcache プロセスの有効期限。memcache キャッシュの利点がすべて失われ、接続が非常に遅くなるのを避けるために、デフォルト値の 1 を変更する前によく考えてください。

2.2.3.戻り値

成功した場合は true を返し、失敗した場合は false を返します

2.2.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアルphpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル/* 手続き型 API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);
/* OO API */
$memcache_obj = 新しい Memcache;
$memcache_obj->pconnect('memcache_host' , 11211);
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアルphpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.3.Memcache::close

2.3.1.手順

bool Memcache::close (void)

オブジェクトを閉じます (永続的な接続では機能しません)

2.3.2.戻り値

成功した場合は true を返し、失敗した場合は false を返します

2.3.3.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアルphpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル/* 手続き型 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* ここで何かをします .. */
memcache_close($memcache_obj);
/* OO API */
$ memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* ここで何かをします .. */
$memcache_obj->close();
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアルphpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.4.Memcache::addServer

2.4.1.手順

bool Memcache::addServer ( string $host [, int $port [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback ]]]]]] ])

サーバーをオブジェクトに追加します (注: addServer にはサーバーに接続するアクションがないため、memcache プロセスが開始されていない場合、addServer が正常に実行された場合も true が返されます)

2.4.2. パラメータ

ホストサーバーのドメイン名またはIP

port ポート番号、デフォルトは 11211 です

persistent 永続的な接続を使用するかどうか、デフォルトは TRUE です

weight 重み、複数のサーバー設定における割合

TTimeout のサーバー接続に失敗するまでの秒数をデフォルト値 1 に変更すると、結果としてすべてのキャッシュの利点が失われる可能性があるので、よく考えてください。

retry_interval サーバー接続が失敗した場合の再試行頻度。デフォルトは 15 秒に 1 回です。拡張機能で dl() を介して動的にロードされると、このパラメータと定常接続の両方が無効になります。設定パラメータは無効になります。

障害が発生した各サーバーには有効期限が切れるまでの独自の有効期間があり、バックエンド リクエストが選択されると、リクエストは処理されずにスキップされます。期限切れの接続は正常に再接続されるか、失敗した接続としてマークされて次回を待機します。 リトライ。この効果は、ページを提供するときの各 Web サーバーの子プロセスの再試行接続が、独自の再試行頻度に関連していることを意味します。

status サーバーがオンラインとしてマークされるかどうかを制御します。このパラメータを FALSE に設定し、 再試行間隔は -1 です 接続に失敗したサーバーは、応答しないリクエストを記述するサーバー プールに配置される可能性があります。失敗したサーバーに設定されている設定は受け入れられます。 TRUE は、サーバーをオンラインとして定義できることを示します。

failure_callback 障害が発生したときのコールバック関数。関数の 2 つのパラメーターは、障害が発生したサーバーのホスト名とポートです。

2.4.3.戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

注: addServer 関数をテストするときは、主にそのパラメーター retry_interval と status をテストしました

2.4.4.例

2.4.4.1.retry_intervalパラメータのテスト

$mem = new Memcache;$is_add = $mem->addServer('localhost', 11211, true, 1, 1, 15, true) // retrt_interval=15

$is_set = $mem; ->set('key1', '中華人民共和国');
?>


上記の例では、localhost サーバーがダウンするか、memcache デーモンがクラッシュした場合、リクエストがサーバーへの接続に失敗してから 15 秒後に接続が自動的に再試行されます。 サーバーに接続しますが、この 15 秒以内にサーバーに接続しません。つまり、リクエストがある限り、15 秒以内にサーバーへの接続を試行しますが、各サーバー接続の再試行は独立しています。たとえば、2つ追加すると、 サーバーの 1 つは localhost で、もう 1 つは 172.16.100.60 で、それぞれのサーバーへのリクエストがある限り、それぞれの接続が失敗した時点からカウントされます。 それぞれのサーバーに接続します。

2.4.4.2. retry_interval と status の組み合わせ

$mem = new Memcache;$is_add = $mem->addServer('localhost', 11211, true, 1, 1, -1, false); // retrt_interval=-1, status=false;

$is_set = $mem->set('key1', '中華人民共和国');
?>
retrt_interval=-1 上記、 status=false この場合、接続に失敗したサーバーはリクエストに応答しないプールに配置されるため、キー割り当てアルゴリズムには影響せず、すぐにエラーが返されます。 フェイルするかフェイルオーバーするかは、memcache.allow_failover の設定によって異なります。 memcache プロセスが正常に実行されている場合でも、replace や get などのリクエストは失敗し、false を返します。

2.4.4.3.ステータスパラメータのテスト

retry_interval と組み合わせて使用​​することに加えて、status を単独で使用すると、関数 memcache::getServerStatu によって取得される結果に影響します

memcache プロセスが正常に実行されているかクラッシュしたかに関係なく、ステータスが true の場合、getServerStatus の結果は true になり、それ以外の場合は false になります

ただし、me​​mcache プロセスが正常に実行されている場合、set、add、replace、get などの関数には影響しません。

2.5.Memcache::add

2.5.1.手順

bool Memcache::add ( string $key ,mixed $var [, int $flag [, int $expire ]] )

キャッシュするデータとしてのキーがサーバー上に存在しない場合は、

2.5.2.パラメータ

key キャッシュされたデータのキーの長さは 250 文字を超えることはできません

var値、整数型は直接保存され、他の型はシリアル化されて保存され、最大値は1Mです

flag zlib 圧縮を使用するかどうか flag=MEMCACHE_COMPRESSED の場合、データが非常に小さい場合は zlib 圧縮が使用されず、データが特定のサイズに達した場合にのみ zlib 圧縮が実行されます。 (具体的なテストデータはありません。圧縮の最小値は何ですか)

expire 有効期限、0 は期限切れがないことを意味します。UNIX タイムスタンプ形式または現在時刻からの秒数を使用できます。秒に設定した場合、2592000 (30 日) を超えることはできません

2.5.3.戻り値

キーがすでに存在する場合、memcache:;add() は成功すると TRUE を返し、失敗すると FALSE を返します。他の点では memcache::set と同様に動作します。

2.5.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル $memcache_obj = memcache_connect("localhost", 11211);
/* 手続き型 API */
memcache_add($memcache_obj, 'var_key', 'テスト変数', FALSE, 30);
/* OO API * /
$memcache_obj->add('var_key', 'テスト変数', FALSE, 30);
?>
phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル 2.6.Memcache::replace

2.6.1.手順

bool Memcache::replace ( string $key ,mixed $var [, int $flag [, int $expire ]] )

指定された既存のキーのキャッシュ変数の内容を置き換えます

2.6.2.パラメータ

key キャッシュされたデータのキー。長さは 250 文字を超えることはできません

var値、整数型は直接保存され、他の型はシリアル化されて保存され、最大値は1Mです

flag zlib 圧縮を使用するかどうか flag=MEMCACHE_COMPRESSED の場合、データが非常に小さい場合は zlib 圧縮が使用されず、データが特定のサイズに達した場合にのみ zlib 圧縮が実行されます。 (具体的なテストデータはありません。圧縮の最小値はいくらですか)

expire 有効期限、0 は期限切れがないことを意味します。UNIX タイムスタンプ形式または現在時刻からの秒数を使用できます。秒に設定した場合、2592000 (30 日) を超えることはできません

2.6.3.戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

2.6.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル $memcache_obj = memcache_connect('memcache_host', 11211);
/* 手続き型 API */
memcache_replace($memcache_obj, "test_key", "some variable", FALSE, 30);
/* OO API * /
$memcache_obj->replace("test_key", "some variable", FALSE, 30);
?>
phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル 2.7.Memcache::set

2.7.1.手順

bool Memcache::set ( string $key ,mixed $var [, int $flag [, int $expire ]] )

指定されたキーのキャッシュ変数の内容を設定します

2.7.2.パラメータ

key キャッシュされたデータのキー。長さは 250 文字を超えることはできません

var値、整数型は直接保存され、他の型はシリアル化されて保存され、最大値は1Mです

flag zlib 圧縮を使用するかどうか flag=MEMCACHE_COMPRESSED の場合、データが非常に小さい場合は zlib 圧縮が使用されず、データが特定のサイズに達した場合にのみ zlib 圧縮が実行されます。 (具体的なテストデータはありません。圧縮の最小値はいくらですか)

expire 有効期限、0 は期限切れがないことを意味します。UNIX タイムスタンプ形式または現在時刻からの秒数を使用できます。秒に設定した場合、2592000 (30 日) を超えることはできません

2.7.3.戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

2.7.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* 手続き型 API */
/* memcached サーバーに接続します */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
キー 'var_key' を持つ項目の値を設定します
として 0 を使用しますフラグ値、圧縮は使用されません
有効期限は 30 秒です
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);
echo memcache_get($memcache_obj, 'var_key');
? > phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* OO API */
$memcache_obj = new Memcache;
/* memcached サーバーに接続 */
$memcache_obj->connect('memcache_host', 11211);
/*
項目の値を設定キー「var_key」、オンザフライ圧縮を使用
有効期限は 50 秒です
*/
$memcache_obj->set('var_key', 'some 本当に大きな変数', MEMCACHE_COMPRESSED, 50);
echo $memcache_obj ->get('var_key');
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.8.Memcache::get

2.8.1.手順

string Memcache::get ( string $key [, int &$flags ] )

array Memcache::get ( array $keys [, array &$flags ] )

特定のキーの変数キャッシュ値を取得する

2.8.2.パラメータ

key キャッシュされた値のキー

flags 変数が渡された場合、キャッシュされた値を取得または追加したフラグの結果が変数に格納されます

2.8.3.戻り値

指定されたキーのキャッシュされた変数の内容を返すか、失敗した場合または変数の値が存在しない場合は FALSE を返します

送信キー配列にキーが存在しない場合、返される結果は空の配列です。それ以外の場合は、キーとキャッシュされた値の連想配列が返されます。

2.8.4.范の例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* 手続き型 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');
/* OO API */
$memcache_obj = 新規Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');
/*
キーの配列をパラメータとして使用することもできます。そのようなアイテムがサーバーで見つからなかった場合、結果の配列にはそのようなキーが含まれないだけです。
*/
/*手続き型API*/
$memcache_obj= memcache_connect('memcache_host', 11211);
$var = memcache_get( $memcache_obj, Array('some_key', 'another_key'));
//如果some_key、another_key不存在 $var = array();
//如果some_key、another_key存在 $var = array('some_key'=> '缓存值','another_key'=>'缓存值');
/* OO API */
$memcache_obj = 新しい Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'first_key'));
?>

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル2.9.Memcache::削除

2.9.1.说明

bool Memcache::delete ( string $key [, int $timeout ] )

删特定の变量の保存

2.9.2.パラメータ

key 保存されているキーの値を null および「」にすることはできません。前の 2 つの値に等しい場合、php には警告警告が表示されます。

timeout この時間が 0 の場合は、この時間が 30 秒の場合は即座に削除されます。30 秒以内に削除されます

2.9.3.戻る值

成功した場合は TRUE が返され、失敗した場合は FALSE が返されます。

2.9.4.范の例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* 手続き型 API */$memcache_obj = memcache_connect('memcache_host', 11211);phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル/* 10 秒後に アイテムは サーバーによって 削除されます */memcache_delete($memcache_obj, 'key_to_delet) e'、10 );
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$memcache_obj->delete('key_to_delete', 10);
?>



phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル 2.10.Memcache::flush phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル2.10.1.说明 bool Memcache::flush ( void )

すべての保存コンテンツを消去し、真の削除保存コンテンツではなく、すべての保存期間を維持し、保存されているコンテンツを上書きします

2.10.2.返值

成功した場合は TRUE が返され、失敗した場合は FALSE が返されます。

2.10.3.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* 手続き型 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_flush($memcache_obj);
/* OO API */
$memcache_obj = 新しい Memcache;
$memcache_obj- > ;connect('memcache_host', 11211);
$memcache_obj->flush();
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.11.Memcache::getExtendedStats

2.11.1.手順

array Memcache::getExtendedStats ([ string $type [, int $slabid [, int $limit ]]] )

すべてのサーバー エクステンションの静的情報を取得する

2.11.2.パラメータ

type 静的情報タイプ。有効な値には、{reset、malloc、maps、slabs、items、sizes} が含まれます。このオプションのパラメータは、開発者がさまざまな情報を表示できるようにするために入力されるタイトルです。情報のカテゴリー

slabid は、指定されたタイプに従ってキャッシュ ヒープをヒープ内の有効なスライスとして共同で設定するために使用されます。キャッシュ ヒープはサーバーにバインドされたコマンドであり、厳密にデバッグ目的です

limit は、指定されたタイプに従って入力された数値によって制限されたヒープのサイズにキャッシュ ヒープを設定するために使用されます。デフォルト値は 100 です。

2.11.3.戻り値

サーバーによって拡張された静的情報の 2 次元配列を返し、失敗した場合は FALSE を返します

2.11.4.例

$memcache_obj = 新しい Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->addServer('failed_host', 11211);
$stats = $memcache_obj-& gt ; getExtendedStats();
?> リーリー
phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル array([memcache_host:11211] => array(
[pid] =>3756
[uptime] =>] =>0.451931
[rusage_system] =>0.634903
[curr_items] => => 3079
[バイト] => 2
[接続構造] => 9748
[cmd_set] => ; 3096
[get_hits] => 5976
[bytes_read] => 3448968
[limit_maxbytes] => 2
)、
[失敗した_ホスト:11211 ] =>
)






2.12.Memcache::getStats

2.12.1.手順
array Memcache::getStats ([ string $type [, int $slabid [, int $limit ]]] ) 最後に追加されたサーバーの静的情報を取得する phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル 2.12.2.パラメータ phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアルtype 静的情報タイプ。有効な値には、{reset、malloc、maps、slabs、items、sizes} が含まれます。このオプションのパラメータは、開発者がさまざまな情報を表示できるようにするために入力されるタイトルです。情報のカテゴリー

slabid は、指定されたタイプに従ってキャッシュ ヒープをヒープ内の有効なスライスとして共同で設定するために使用されます。キャッシュ ヒープはサーバーにバインドされたコマンドであり、デバッグ目的のみに使用されます

limit は、指定されたタイプに従って入力数によって制限されたヒープのサイズにキャッシュ ヒープを設定するために使用されます。デフォルト値は 100 です。

2.12.3.戻り値

サーバーの静的情報の配列を返し、失敗した場合は FALSE を返します

2.13.Memcache::getServerStatus

2.13.1.手順

int Memcache::getServerStatus ( string $host [, int $port ] )

ホストとポートを入力して、対応するサーバー情報を取得します

2.13.2.パラメータ

ホストサーバーのドメイン名またはIP

port ポート番号、デフォルトは 11211 です

2.13.3.戻り値

サーバーのステータスを返します。0 は失敗を意味し、それ以外の場合は 0 以外の数値を返します

2.13.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* OO API */
$memcache = 新しい Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);
/* 手続き型 API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.14.Memcache::getVersion

2.14.1.手順

文字列 Memcache::getVersion (void)

サーバーのバージョン番号情報を取得する

2.14.2.戻り値

正常にサーバーのバージョン番号文字列を返し、失敗した場合は FALSE を返します

2.14.3.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* OO API */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();
/* 手続き型 API * /
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.15.Memcache::setCompressThreshold

bool Memcache::setCompressThreshold ( int $threshold [, float $min_ Savings ] )

圧縮制限を設定する

2.15.2.パラメータ

threshold は自動圧縮を制御する変数長の最小値を設定します

min_ Saving は最小圧縮率を指定します。値は 0 ~ 1 の範囲にする必要があります。デフォルトは 0.2 で、圧縮率 20% を表します

2.15.3.戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

2.15.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* OO API */
$memcache_obj = 新しい Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);
/* 手続き型API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.16.Memcache::setServerParams

2.16.1.手順

bool Memcache::setServerParams ( string $host [, int $port [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback ]]]]] )

Memcacheバージョン2.1.0以降に追加された機能、実行時にサーバーパラメータを設定します

2.16.2.パラメータ

ホストサーバーのドメイン名またはIP

port ポート番号、デフォルトは 11211 です

timeout 接続失敗のタイムアウト秒数。デフォルト値の 1 を変更する場合はよく考えてください。キャッシュの利点がすべて失われ、接続が非常に遅くなる可能性があります

retry_interval サーバー接続が失敗した場合の再試行頻度。デフォルトは 15 秒に 1 回です。拡張機能で dl() を介して動的にロードされると、このパラメータと定常接続の両方が無効になります。設定パラメータは無効になります。 障害が発生した各サーバーには有効期限が切れるまでの独自の有効期間があり、バックエンド リクエストが選択されると、リクエストは処理されずにスキップされます。期限切れになった接続は、正常に再接続されるか、次回の再試行まで失敗としてマークされます。この効果は、ページを提供するときの各 Web サーバーの子プロセスの再試行接続が、独自の再試行頻度に関連していることを意味します。

status サーバーをオンラインとしてマークするかどうかを制御します。このパラメーターを FALSE に設定し、retry_interval を -1 に設定すると、接続に失敗したサーバーが、このサーバーへの要求が失敗することを示すサーバー プールに配置される可能性があります。これは、障害が発生したサーバーの設定です。デフォルトのパラメーターは TRUE で、サーバーをオンラインとして定義できることを意味します。

failure_callback 障害が発生したときのコールバック関数。関数の 2 つのパラメーターは、障害が発生したサーバーのホスト名とポートです。

2.16.3.戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

2.16.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル function _callback_memcache_failure($host, $port)
{
print "memcache '$host:$port' failed";
}
/* OO API */
$memcache = new Memcache;
// 追加サーバーをオフライン モードにします
$memcache->addServer('memcache_host', 11211, FALSE, 1, 1, -1, FALSE);
// サーバーをオンラインに戻します
$memcache->setServerParams('memcache_host' , 11211, 1, 15, TRUE, '_callback_memcache_failure');
/* 手続き型 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11、1、15 、TRUE、'_callback_memcache_failure');
?>
phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル 2.17.Memcache::increment

2.17.1.手順

int Memcache::increment ( string $key [, int $value ] )

指定したキーのキャッシュ変数に増分を与えます。変数が数値でない場合、この増分は変数の元の数値に加算されます。新しい変数は追加されません。圧縮ストレージの場合、対応する値メソッドが失敗するため、この関数を変数に使用しないでください。

2.17.2.パラメータ

key キャッシュされた値のキー

var 値、整数型は直接保存され、他の型はシリアル化されて保存されます

2.17.3.戻り値

成功した場合は新しい変数値を返し、失敗した場合は FALSE を返します。

2.17.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* 手続き型 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* カウンタを 2 増加させます */
$current_value = memcache_increment($memcache_obj, 'counter', 2);
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* カウンタを 3 増加させます */
$current_value = $memcache_obj->increment('counter '、3);
?> phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル

2.18.Memcache::デクリメント

2.18.2.手順

int Memcache::decrement ( string $key [, int $value ] )

指定したキーのキャッシュ変数にデクリメント値を与えます。インクリメント操作と同様に、この値は元の変数から減算され、新しい値に変換されます。 item は 0 未満にはなりません。対応する value メソッドが失敗するため、圧縮された格納変数にはこの関数を使用しないでください。

2.18.2.パラメータ

key キャッシュされた値のキー

var 値、整数型は直接保存され、他の型はシリアル化されて保存されます

2.18.3.戻り値

成功した場合は新しい変数値を返し、失敗した場合は FALSE を返します。

2.18.4.例

phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル /* 手続き型 API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* 項目を 2 減らす */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2); /* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* item を 3 減分します */
$new_value = $memcache_obj->decrement('test_item '、3);
?>
phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル phpを使ってmemcacheを操作する[転送]、phpを使ってmemcacheを操作する_PHPチュートリアル 2.19.memcache_debug

2.19.1.手順

bool memcache_debug ( bool $on_off )

memcache デバッガーを有効にするかどうかを設定します。値は TRUE または FALSE です。 PHP のインストール中に --enable-debug オプションが使用されるかどうかに影響を受け、この関数は使用された場合にのみ TRUE を返し、それ以外の場合は常に FALSE を返します。

2.19.2.パラメータ

on_off はデバッグ モードがオンかどうかを設定します。TRUE はオン、FALSE はオフです

2.19.3.戻り値

PHP は、インストール中に --enable-debug オプションが使用された場合は TRUE を返し、それ以外の場合は FALSE を返します。

リダイレクト先: http://www.cnblogs.com/whoamme/p/3437146.html

http://www.bkjia.com/PHPjc/1116663.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1116663.html技術記事 memcache を操作するための php の使用 [Transfer]、memcache を操作するための php 1. はじめに Memcache は、最初に LiveJournal のために提供されたプロジェクトです...
名前 タイプ 説明
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。