ホームページ >バックエンド開発 >PHPの問題 >php memcached メソッドとは何ですか?

php memcached メソッドとは何ですか?

青灯夜游
青灯夜游オリジナル
2021-09-26 13:52:391229ブラウズ

php memcached メソッドは次のとおりです: 1. set(); 1. add(); 3. replace(); 4. get(); 5. delete(); 6.crement(); 7. decrement (); 8. flash(); 9. connect() など。

php memcached メソッドとは何ですか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

PHP が動作しますMemcached メソッドの概要

(1) memcache 拡張機能

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

#キーが存在する場合は値を更新し、存在しない場合は k-v ペアを設定します。注: $var は任意のデータを保存できます

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

#キーが存在しない場合のみ追加

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

#既存のキー値を置き換えます。キーが存在しない場合は、エラーが返されます。

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

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

#1 つ以上の値を取得

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

#キー要素を削除します。タイムアウトが設定されている場合、削除には何秒かかりますか?

# [注意] タイムアウトを使用する memcached に対応する一部のバージョンでは削除に失敗します (0 で OK)

6, int Memcache::increment ( string $key##) # [, int $value = 1 ] )

#キーが存在し、数値に変換できる場合は int を追加し、それ以外の場合は直接 value に置き換えます。キーが存在しない場合は false

7, int

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

8, bool

Memcache::flush (void)

#すべての要素は無効です

9, bool

Memcache: :connect ( string $host [, int $port [, int $timeout=1 ]] )##接続memcache サーバーに接続すると、スクリプトの実行後に自動的に閉じます (アクティブに閉じるには close を使用します)

10, bool

Memcache::close

(void)##Close memcache リンク (この関数は永続的な接続を閉じません)

11.mixed

Memcache::pconnect

( string

$host [, int $ port [, int $timeout ]] )#永続的な接続を確立します

12, bool

Memcache::addServer

( string

$host [, int $port = 11211 [, bool $persistent [, int $weight [, int $ timeout [, int $retry_interval [, bool $status [, callback $failure_callback [, int $ timeoutms ]] ]]]]] )#サーバーを接続プールに追加します。このメソッドで開かれたサービスは、スクリプトの終了時に閉じられるか、アクティブに閉じられます。close

#この方法を使用すると、ネットワーク接続は必ずしもすぐに接続されるわけではありませんが、サーバーが使用される必要があるまで接続されないため、多数のサーバーが接続プールに追加されてもオーバーヘッドは発生しません

パラメータ:

$persistent

永続化するかどうか、デフォルトは true です$weight

重みを示します #$retry_interval

サーバー接続が失敗した場合の再試行時間。デフォルトは 15 秒です。-1 は再試行なしを意味します

##$status このサーバーをオンラインとしてマークするかどうかを制御します (接続が失敗し、接続プールに 1 台のサーバーが存在しない場合、元の割り当てアルゴリズムに影響します) $failure_callback

接続失敗後に実行される関数 (フェイルオーバー前に実行)。失敗したホスト host と port

13、配列 Memcache::getExtendedStats ([ string ##) の 2 つのパラメータが含まれます。 #$type [, int

$slabid

[, int $limit = 100 ]]] )##getExtendedStats() は、関連する 2 次元のデータを返します。データ サーバー統計情報 #getExtendedStats(' slabs') で各サーバー上のアクティブなスラブ ブロックの ID を取得します #getExtendedStats('cachedump', $slabid, $limit) で各スラブのキャッシュ項目

パラメータ:

#type キャプチャされることが期待される統計情報のタイプ。使用できる値は、{reset、malloc、maps、cachedump、slabs です。 、アイテム、サイズ}

#slabid パラメータとともに使用します

type

指定されたスラブからデータをブロック単位で結合してコピーします。cachedump コマンドはサーバーを完全に占有し、通常は厳密なデバッグに使用されます。

#limit はパラメータ

type

と組み合わせて使用​​され、キャッシュダンプ中にサーバーから取得されるエンティティの数を設定します。

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

#Return aサーバーのステータス。0 はサーバーがオフラインであることを意味し、0 以外はオンラインを意味します。

15、配列 Memcache::getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

#getStats()関連データのサーバー統計を 返します。上記と同じ

16、文字列 Memcache::getVersion (void)

#戻りバージョン番号

17、ブール値 Memcache:: setCompressThreshold (int $threshold [, float $min_ Savings ] )

##大きな値の自動圧縮を有効にする

パラメータ:

#threshold 自動圧縮のしきい値を制御します。

#min_ Saving 圧縮後に実際に保存される値の圧縮率を指定します。サポートされる値は 0 ~ 1 である必要があります。デフォルト値は 0.2 で、圧縮率 20% を意味します。

18, bool

Memcache::setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, コールバック $failure_callback ]]] ]] )

# 実行時にサーバーパラメータを変更するために使用されます

# パラメータは上記と同じです

##(2) memcached 拡張機能1,

Memcached::__construct

([ string $persistent_id ] )#デフォルトでは、Memcached インスタンスはリクエストの終了後に破棄されます。ただし、作成時に

persistent_id

で各インスタンスの一意の ID を指定することで、リクエスト間でインスタンスを共有できます。同じ persistent_id 値で作成されたすべてのインスタンスは、同じ接続を共有します。 <pre class="brush:php;toolbar:false">&lt;?php # 创建一个普通的对象 $m1 = new Memcached(); echo get_class($m); /* 创建持久化对象 */ $m2 = new Memcached(&amp;#39;story_pool&amp;#39;); $m3 = new Memcached(&amp;#39;story_pool&amp;#39;); # 现在$m2和$m3共享相同的连接 ,可以使用isPresistent进行检测 ?&gt;</pre>2. public bool

Memcached::addServer

( string $host , int $port [, int $weight = 0 ] )#指定されたサーバーをサーバー プールに追加します。この時点ではサーバーとの接続は確立されません

##3, public bool

Memcached:: addServers

(array

$servers)#複数のサーバーをサービス プールに追加します

4, public bool

Memcached::cas

( float

$cas_token 、 string $key ,mixed $value [, int $expiration] )#「チェックと設定」操作を実行します。 現在のクライアントの最後の

値の後にこのキー 対応する値が他のクライアントによって変更されていない場合、 その後のみ、値を書き込むことができます。

cas_token パラメータ 5、パブリック ブール Memcached::casByKey

(float

$cas_token、 文字列 $server_key、文字列 $key、混合 $value [, int $expiration] )#指定サーバー、上記と同じ

#[$server_key も通常のキーです。*ByKey シリーズ インターフェイスの動作プロセスは次のとおりです: まず、$server_key をハッシュして $server_key を保存するサーバーを取得し、次に実行します。 $server_key が存在するサーバー上で実行される] の対応する操作]

6, public bool

Memcached::set

( string

$key,mixed $ value [, int $expiration] )#値 (値は任意の有効な非リソース PHP タイプ) を key

7 に保存します。 public bool

Memcached::setByKey

( string

$server_key, string $key ,mixed $value [, int $expiration ] )#サーバーを指定します。上記と同様に

8、public bool

Memcached::setMulti

(array

$items [ , int $expiration ] )#複数の要素の保存

#$items array('key'=>'value')

9 、public bool

Memcached::setMultiByKey

( string

$server_key, array $items [, int $expiration] )#サーバーを指定します。上記と同じです。

10、public bool

Memcached::add

( string

$key、mixed $value [, int $expiration] )#新しいキーに要素を追加します。キーが存在する場合、失敗します。

11. public bool

Memcached::addByKey

( string

$server_key, string $key ,mixed $value [, int $expiration] )指定されたサーバー上の # 新しいキー

12、public bool

Memcached::touch

( string

$key、int) の下に要素を追加します$expiration)#キーの新しい有効期限を設定します

13、パブリック ブール

Memcached::touchByKey

( string

$server_key , string $key , int $expiration)#指定されたサーバーのキーの有効期限を設定します

14, public bool

Memcached::append

( string

$key , string $value )#文字列 value

を追加します既存要素のパラメータに対応する値

注意:如果Memcached::OPT_COMPRESSION常量开启,这个操作会失败,并引发一个警告,因为向压缩数据后追加数据可能会导致解压不了。

<?php
$a = new Memcached();
$a->addServer(&#39;192.168.95.11&#39;, 11211);
#$a->addServer(&#39;192.168.95.11&#39;, 11210);
#$a->setOption(Memcached::OPT_COMPRESSION, false);
$b=$a->append(&#39;e&#39;,&#39;popop&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r($b);
echo "
";die; ?>

15、public bool Memcached::appendByKey ( string $server_key, string $key , string $value )

#向指定服务器已经存在的元素后追加value参数对应的字符串值

16、public bool Memcached::prepend( string $key , string $value )

#向一个已存在的元素前面追加数据

17、public bool Memcached::prependByKey( string $server_key, string $key , string $value )

#向指定服务器已经存在的元素前追加value参数对应的字符串值

18、public bool Memcached::replace ( string $key , mixed $value [, int $expiration] )

#替换已存在key下的元素

19、public bool Memcached::replaceByKey( string $server_key, string $key , mixed $value [, int $expiration] )

#替换指定服务器的key下的元素

20、public int Memcached::decrement ( string $key [, int $offset = 1 ] )

#减小数值元素的值

#不存在key返回错误、减到小于0结果为0、元素不是数值以0对待

21、public int Memcached::decrementByKey( string $server_key, string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

#指定服务器减小数值元素的值,不存在的key则初始化为0

22、public int Memcached::increment ( string $key [, int $offset = 1 ] )

#增加数值元素的值

23、public int Memcached::incrementByKey( string $server_key, string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

#同上

24、public bool Memcached::delete( string $key [, int $time = 0 ] )

#删除一个元素

#设置时间后,表明在time时间后才删除,在这段时间内get、add、replace命令对该key都无效。

25、public bool Memcached::deleteByKey ( string $server_key, string $key [, int $time = 0 ] )

#同上

26、public bool Memcached::deleteMulti ( array $keys [, int $time = 0 ] )

#删除多个key

27、public bool Memcached::deleteMultiByKey( string $server_key, array $keys [, int $time = 0 ] )

#同上

28、public bool Memcached::flush([ int $delay = 0 ] )

#让所有缓冲区的数据失效

29、public mixed Memcached::get( string $key [, callback $cache_cb [, float &$cas_token ]] )

#检索一个元素

#$callback     回调函数,没有$key之值时,将会调用这个函数,会传入三个参数memcache对象、key、引用传递变量的返回值(true时返回)

#$cas_token     配合cas使用。同一个客户端最后一个get将会生成一个64位唯一标识符存储,然后使用cas来查看更改,假若在此过程中被其他客户端修改则,返回false

30、public mixed Memcached::getByKey( string $server_key, string $key [, callback $cache_cb [, float &$cas_token ]] )

#从特定的服务器检索元素

31、public mixed Memcached::getMulti( array $keys [, array &$cas_tokens [, int $flags ]] )

#检索多个元素,提供$cas值,则添加cas值

#$flags     只能为Memcached::GET_PRESERVE_ORDER,保证返回的key的顺序和请求时一致。

32、public array Memcached::getMultiByKey ( string $server_key, array $keys [, string &$cas_tokens [, int $flags ]] )

#从特定服务器检索多个元素

33、public array Memcached::getAllKeys( void )

# Gets the keys stored on all the servers

34、public bool Memcached::getDelayed( array $keys [, bool $with_cas [, callback $value_cb ]] )

#サーバーからキーを要求します。このメソッドは応答を待機せず、ただちにブール値を返します。結果を収集するには、fetch および fetchAll を使用します。

#$with_cas true の場合、cas 値が同時に記録されます

#$value_cb Result コールバック関数の処理

35、public bool Memcached::getDelayedByKey( string $server_key, array $keys [, bool $with_cas [, コールバック $value_cb ]] )

#指定されたサーバーから複数のキーを要求します

#36、パブリック配列

Memcached::fetch (void)

#最後のリクエストから次の結果を掴みます。

37、パブリック配列

Memcached::fetchAll(void)

#残りの結果をすべて取得します

38、パブリック混合

Memcached :: getOption( int $option )

#Memcached オプション値を取得します

# OPT_* シリーズ定数の 1 つ。

39, public bool

Memcached::setOption( int $option ,mixed $value )##1 を設定しますmemcached options

40, public bool

Memcached::setOptions

( array $options )##複数の memcached オプションを設定します 41. public int

Memcached::getResultCode

(void)

#最後の操作の結果コードを返します42. public string

Memcached::getResultMessage

( void )

#最後の操作の結果説明メッセージを返します43、パブリック配列

Memcached::getServerByKey

( string

$server_key

)#キー44、パブリック配列

Memcached::getServerList

(void)

#でマップされたサーバー情報を取得します。サーバー プール Table45、パブリック配列

Memcached::getStats

(void)

#サーバー プール内の統計情報の取得46、パブリックarray

Memcached::getVersion

( void )

#サーバー プール内のすべてのサーバー バージョン情報を取得します47、public bool

Memcached::isPersistent

( void )

#サーバーが永続的に接続されているかどうかをテストします48, public bool

Memcached::isPristine

(void)

#memcache かどうかをテストします最近作成されました 49, public bool

Memcached::quit

(void)

#接続を閉じます50, public bool

Memcached ::resetServerList

( void )

#すべてのサーバーのサーバー サービス情報をリセットします51, public void

Memcached::setSaslAuthData

( string

$ username

, string $password )#認証に使用する資格情報を設定します (上記は、学習用マニュアルを参照しながらまとめたメモです) memcached も載せておきます。まあ、不備や間違いがあればご指摘ください)

推奨学習: 「

PHP ビデオ チュートリアル

以上がphp memcached メソッドとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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