ホームページ  >  記事  >  バックエンド開発  >  PHPのMemcacheクラス関数の詳細説明

PHPのMemcacheクラス関数の詳細説明

WBOY
WBOYオリジナル
2016-06-23 13:42:10774ブラウズ

Memcache クラス関数のリストは次のとおりです:

Memcache::add ? 値を追加します (既に存在する場合は false を返します)

Memcache::addServer ? 使用するサーバー アドレスを追加します

Memcache::close ? Memcache オブジェクトを閉じる

Memcache::connect ? Memcache オブジェクトを作成する

memcache::decrement ? 保存されたキーの値を減算する

Memcache::delete ?
Memcache::flush ? キャッシュされたデータをすべてクリアします

Memcache::get ? プロセス プール内のすべてのプロセスの実行中のシステム統計を取得します

Memcache::getServerStatus ?パラメータ

Memcache::getStats ? サーバーの実行統計を返します

Memcache::getVersion ? 実行中の Memcache のバージョン情報を返します

Memcache::increment ? 保存されたキーに値を追加します

Memcache::pconnect ? Memcache 永続接続オブジェクトを作成します

Memcache::replace - 既存のキーを上書きします

Memcache::set ? 値がすでに存在する場合は上書きします

Memcache::setCompressThreshold ? 特定のサイズを超えるデータを圧縮します

Memcache::setServerParams ? 実行時にサーバーパラメータを変更します



Memcache::add の使用法


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


$key が存在しない場合は、この関数を使用して $var の値を保存します。機能的に同等の関数は memcache_add() です。
パラメータ:


$key: 保存されるキーの値。
$var: 保存された値、文字型、および整数型は元の値として保存され、他の型は後で自動的にシリアル化されて保存されます。
$flag: MEMCACHE_COMPRESSED を使用して格納された値を圧縮するかどうか。true は圧縮を意味し、false は圧縮なしを意味します。

$expire: 保存された値の有効期限。0 の場合は、UNIX タイムスタンプまたは説明を使用して今からの時間を表すことができますが、秒を使用して表す場合は期限切れになりません。 2592000 秒 (30 日を意味します) を超えてはなりません。


戻り値:


成功した場合は TRUE を返し、失敗した場合は FALSE を返します。 $key 値がすでに存在する場合は、FALSE が返されます。 その他の場合、Memcache::add() の使用法は Memcache::set() と同様です。
例:


$memcache_obj = memcache_connect("localhost", 11211);
memcache_add($memcache_obj, 'var_key', 'テスト変数', false, 30);

$ memcache_obj->add('var_key', 'テスト変数', false, 30);


Memcache::addServer の使用法


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


説明:
利用可能な使用されるサーバー アドレスは接続プールに追加されます。接続は Memcache::addServer で開かれます。スクリプトの実行後に自動的に閉じられるか、Memcache::close() で手動で閉じることができます。同じ関数は memcache_add_server() です。

このメソッドを使用する場合 (Memcache::connect() メソッドや Memcache::pconnect() メソッドと比較して)、ネットワーク接続は必要な場合にのみ確立されるため、ネットワーク接続に大量のサーバーを追加することによってネットワーク接続が確立されることはありません。接続プールが使用されていない可能性があるため、システム負荷が増加します。
他のサーバーが正常である限り、このメソッドの実行のどの段階でも障害回復が発生します。ユーザーはこれらの接続リクエストの失敗に気づきません。あらゆる種類のソケットまたは memcached サーバーレベルのエラーがフェイルオーバーを引き起こす可能性があります。既存のキーの追加などの通常のクライアント エラーでは、フェールオーバーはトリガーされません。

パラメータ:


$host サーバーアドレス

$port サーバーポート
$persistent が永続的な接続かどうか
$weight すべてのサーバーの中のこのサーバーの重み

$timeout 接続の持続時間

$retry_interval 接続再試行の間隔、デフォルトは 15、-1 に設定すると再試行なしを意味します

$status はサーバーのオンラインステータスを制御します

$failure_callback はエラーメッセージを処理するためのフォールバック関数を設定できます。


戻り値:


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


例:

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);$memcache->addServer('memcache_host2', 11211);

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

Memcache ::close 使用法

bool Memcache::close ( void )

説明:

memcache サーバー接続を閉じます。この関数は、長い接続を閉じません。長い接続は、Web サーバーがシャットダウンまたは再起動されたときにのみ閉じられます。同じ関数 memcache_close()

戻り値:

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

例:


$memcache_obj = memcache_host', 11211);

$memcache _ob j = 新しい Memcache
$memcache_obj->connect; ( 'memcache_host', 11211);

$memcache_obj->close();


Memcache::connect の使用法


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


memcached サーバー接続を開き、memcached サーバーへの接続を確立します。 Memcache::connect で開かれた接続は、スクリプトの実行後に自動的に閉じられます。 Memcache::close() を使用して接続を閉じることもできます。同じ関数は memcache_connect() です。
パラメータ:


$host: memcached がリッスンしているリンクのホストを指します。このパラメータには、UNIX ドメイン名を使用する別の特別な接続メソッド unix:///path/to/memcached.sock が含まれます。ソケット、この場合、ポートは 0 に設定する必要があります $port: memcached がリッスンしているリンクのポートを指します。UNIX ドメイン名ソケットの場合、ポートは 0 に設定する必要があります

$タイムアウト: デーモンへの接続に使用される秒。デフォルト値の 1 秒を変更する場合は、接続が遅すぎるとキャッシュの利点が失われる可能性があることを考慮する必要があります。


戻り値:


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


$memcache_obj = memcache_connect('memcache_host', 11211);
$memcache = new Memcache; 、11211); ?>


memcache::debug


bool memcache_debug (bool $on_off)


説明:
PHP がコンパイル時に -enable-debug オプションを使用する場合はデバッグ関数を制御します。それ以外の場合はこの関数それ機能しません。


パラメータ:
$on_off: true はデバッグをオンにすることを意味し、false はデバッグをオフにすることを意味します


戻り値:
コンパイル時に php が -enable-debug オプションを使用する場合は true を返し、それ以外の場合は false を返します


Memcache::decrement の使用法
int Memcache::decrement ( string $key [, int $value ] )


説明:
Memcache::decrement メソッドの役割は、キーを変更することです。保存されたキー 値が減算され、その使用法は Memcache::increment と似ています。

memcache_decrement() 関数を使用することもできます。
パラメータ:


Key: 削減したいキーの名前

Value: 削減したい値。
戻り値:


成功した場合は減算された値を返し、失敗した場合は false を返します。


例:

$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$memcache->set('test_item', 8 ; Memcache::increment 関数も一緒に説明します。


Memcache::delete の使用法


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


説明:


パラメータ $timeout が設定されている場合、キー値を削除します。値は、設定された秒数が経過すると期限切れになります。関数 memcache_delete() を使用することもできます。


戻り値:


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


$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_delete($memcache_obj, 'key_to_delete', 10) ;

$memcache_obj = 新しい Memcache;$memcache_obj->connect('memcache_host', 11211);
$memcache_obj->delete('key_to_delete', 10); bool Me mcache::flush ( void )


手順:
キャッシュされたデータをすべてクリアします。 Memcache::flush は実際にはリソースを解放しません。占有されているメモリ領域を新しいキャッシュでカバーできるように、すべてのキャッシュを期限切れとしてマークするだけです。同じ関数は memcache_flush() です。


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


例:

$memcache_obj = memcache_connect('memcache_host', 11211);

$memc ache_ obj = 新しい Memcache $memcache_obj->connect; ( 'memcache_host', 11211);
$memcache_obj->flush();


Memcache::get

string $key [, int &$flags ] )

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


説明:


このメソッドの機能は、キー値を配列にすることです。結果にはキーと値のペアが含まれます。
パラメータ:


$key はキー値またはキーの配列値です。

$flags このパラメータが存在する場合、$flags はこのパラメータに書き込まれる値に関連します。これらの $flags は Memcache::set() 関数の $flags に似ています。
戻り値:


成功した場合はキーに対応する値を返し、失敗した場合は false を返します。

$memcache_obj = memcache_connect('memcache_host', 11 211) ;
$var = memcache_obj, 'some_key')
$memcache_obj = 新しい Memcache;
$var = $memcache_obj-&g得する('some_key');
$memcache_obj = memcache_connect('memcache_host', 11211); $memcache_obj = 新しい Memcache;
$me mcache_obj ->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

Memcache::getExtendedStats

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


説明:


プロセスプール内のすべてのプロセスの実行中のシステム統計を取得します。同じ関数は memcache_get_extended_stats() です。


パラメータ:


$type は要求された戻り値のタイプを示します: リセット、malloc、maps、cachedump、slabs、items、sizes; $slabid の最初のパラメータが " に設定されている場合キャッシュダンプ」が使用されています。

$limit の最初のパラメータが "cachedump" に設定されている場合に使用されます。


戻り値:
成功した場合は統計を返し、失敗した場合は false を返します


例:
$memcache_obj = new Memcache;
$memcache_obj->addServer (' memcache_host ' , 11211);
$memcache_obj->addServer('failed_host', 11211);
$stats = $memcache_obj->getExtendedStats(); // スラブ メカニズムはメモリを割り当てて管理します
$統計ラボ = $ memcache_obj->getExtendedStats(slabs);

?>


Memcache::getServerStatus

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

説明 :

を入手サーバーパラメータを実行しています。サーバーのオンラインまたはオフラインのステータスを返します。同じ関数は memcache_get_server_status() です。

パラメータ:


$host: リスニング接続のホスト

$port リスニング接続のホストのポート、デフォルトは 11211 です


戻り値:


成功 サーバーが起動していない場合は、サーバーが起動していることを示す 0 が返されます。

例:


$memcache = new Memcache; $memcache->addServer('memcache_host', 11211); echo $memcache->getServerStatus('memcache) _ ホスト'、11211 ) ;

$memcache_connect('memcache_host', 11211);

Memcache ::getStats

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

説明:

サーバーの実行統計を返します。同じ関数は memcache_get_stats() です。

パラメータ:

$type は、要求された戻り値のタイプを示します:reset、malloc、maps、cachedump、slabs、items、sizes; 最初のパラメータは「cachedump」に設定されます。ときに使用されます。

$limit の最初のパラメータが "cachedump" に設定されている場合に使用されます。


Memcache::getVersion
string Memcache::getVersion (void)


説明:
実行中の Memcache のバージョン情報を返します。同関数 memcache_get_version()


戻り値:
正常にサーバのバージョン情報を返し、失敗した場合は false を返します。


例:

$memcache = new Memcache;
$memcache->getVersion();
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache) ?>


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

保存されたキーに値を追加します

使用法のリファレンス Memcache::decrement
Memcache::pconnect


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


説明:

Memcache 永続接続オブジェクトを作成します
使用法は Memcache::connect() に似ていますが、異なる点は、Memcache::pconnect が確立された永続接続であることです。この接続は、スクリプトの実行後、または Memcache::close() 関数の実行後に閉じられません。これと同じ関数は memcache_pconnect() です。


パラメータ:
$host: memcached がリッスンしているリンクのホストを指します。このパラメータには別の特別な接続メソッド unix:///path/to/ があります。 memcached .sock、つまり、UNIX ドメイン名ソケットを使用します。この場合、ポートは 0 に設定する必要があります。

$port: UNIX ドメイン名ソケットの場合、memcached がリッスンしているリンクのポートを指します。 、ポートは 0 に設定する必要があります

$timeout: デーモンへの接続に使用される秒数 デフォルト値の 1 秒を変更する場合は、接続が遅すぎると接続が失われる可能性があることを考慮する必要があります。キャッシングの利点。
戻り値:


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


$memcache_obj = memcache_pconnect('memcache_host', 11211);
$memcache_obj =新しい Memcache $memcache_obj -> ;pconnect('memcache_host', 11211);

?>
Memcache::replace


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


手順:


既存のキーを上書きします。同じ関数は memcache_replace() です。
パラメータ:


$key: 保存されるキーの値。
$var: 保存された値、文字型、および整数型は元の値として保存され、他の型は後で自動的にシリアル化されて保存されます。
$flag: MEMCACHE_COMPRESSED を使用して格納された値を圧縮するかどうか。true は圧縮を意味し、false は圧縮なしを意味します。

$expire: 保存された値の有効期限。0 の場合は、UNIX タイムスタンプまたは説明を使用して今からの時間を表すことができますが、秒を使用して表す場合は期限切れになりません。 2592000 秒 (30 日を意味します) を超えてはなりません。
戻り値:


成功した場合は TRUE を返し、失敗した場合は FALSE を返します。 $key 値がすでに存在する場合は、FALSE が返されます。


$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_replace($memcache_obj, "test_key", "some variable", false, 30);
$memcache_obj- >交換( "test_key", "何らかの変数", false, 30);
?>


Memcache::set

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


説明:


値を追加するか、すでに存在する場合は上書きします。同じ関数は memcache_set() です。

パラメータ:

$key: 保存されるキーの値。

$var: 保存された値、文字型、および整数型は元の値として保存され、他の型は後で自動的にシリアル化されて保存されます。 $flag: MEMCACHE_COMPRESSED を使用して格納された値を圧縮するかどうか。true は圧縮を意味し、false は圧縮なしを意味します。

$expire: 保存された値の有効期限が 0 の場合、UNIX タイムスタンプまたは説明を使用して今後の時間を表すことができますが、秒を使用して表す必要はありません。 2592000 秒 (30 空を意味します) を超えます。

戻り値:

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

例:

$memcache_obj = 新しい Memcache;

$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->set('var_key', '本当に大きな変数があります', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

Memcache::setCompressThreshold

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

説明:

一定サイズ以上のデータを圧縮します。同じ関数は memcache_set_compress_threshold() です。 パラメータ:

setCompressThreshold メソッドには 2 つのパラメータがあります。最初のパラメータは処理データ サイズの臨界点を表し、2 番目のパラメータは圧縮率を表し、デフォルトは 0.2 です。

戻り値:

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

例:


$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompress 3 番目のホールド (20000, 0.2)

$memcache_obj = memcache_connect('memcache_host', 11211);

?>


Memcache::setServerParams


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


実行時にサーバーのパラメータを変更します。同じ関数は memcache_set_server_params() です。
パラメータ:


$host サーバー アドレス $port サーバー ポート

$timeout 接続期間

$retry_interval デフォルトは 15 です。これを -1 に設定すると、再試行は行われません。

$status はサーバーのオンライン ステータスを制御します

$failure_callback を使用すると、エラー メッセージを処理するコールバック関数を設定できます。


戻り値:


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


function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' が失敗しました"
}

$memcache = 新しい Memcache;

// オフライン モードでサーバーを追加します
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false)

// サーバーをオンラインに設定します
$memcache->setServerParams( 'memcache_host'、11211、1、15、true、'_callback_memcache_failure');

$memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11 211、1、15、真、 ' _callback_memcache_failure');

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。