php memcached メソッドは次のとおりです: 1. set(); 1. add(); 3. replace(); 4. get(); 5. delete(); 6.crement(); 7. decrement (); 8. flash(); 9. connect() など。
このチュートリアルの動作環境: 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 ] )
Memcache::decrement ( string $key [, int
$value = 1 ] )
Memcache::flush (void)
#すべての要素は無効です9, boolMemcache: :connect ( string $host [, int
$port [, int
$timeout=1 ]] )
##接続memcache サーバーに接続すると、スクリプトの実行後に自動的に閉じます (アクティブに閉じるには close を使用します)
10, bool
Memcache::close(void)##Close memcache リンク (この関数は永続的な接続を閉じません)
11.mixedMemcache::pconnect
( string$host [, int $ port [, int
$timeout ]] )
#永続的な接続を確立します
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
##$status このサーバーをオンラインとしてマークするかどうかを制御します (接続が失敗し、接続プールに 1 台のサーバーが存在しない場合、元の割り当てアルゴリズムに影響します)
$failure_callback
接続失敗後に実行される関数 (フェイルオーバー前に実行)。失敗したホスト host と port
13、配列
Memcache::getExtendedStats ([ string ##) の 2 つのパラメータが含まれます。 #$type
[, int
[, int $limit = 100 ]]] )##getExtendedStats() は、関連する 2 次元のデータを返します。データ サーバー統計情報
#getExtendedStats(' slabs') で各サーバー上のアクティブなスラブ ブロックの ID を取得します
#getExtendedStats('cachedump', $slabid, $limit) で各スラブのキャッシュ項目
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 インスタンスはリクエストの終了後に破棄されます。ただし、作成時に
で各インスタンスの一意の ID を指定することで、リクエスト間でインスタンスを共有できます。同じ persistent_id
値で作成されたすべてのインスタンスは、同じ接続を共有します。 <pre class="brush:php;toolbar:false"><?php
# 创建一个普通的对象
$m1 = new Memcached();
echo get_class($m);
/* 创建持久化对象 */
$m2 = new Memcached(&#39;story_pool&#39;);
$m3 = new Memcached(&#39;story_pool&#39;);
# 现在$m2和$m3共享相同的连接 ,可以使用isPresistent进行检测
?></pre>
2. public bool
( string $host , int $port
[, int $weight
= 0 ] )#指定されたサーバーをサーバー プールに追加します。この時点ではサーバーとの接続は確立されません
Memcached:: addServers
(array$servers)#複数のサーバーをサービス プールに追加します
Memcached::cas
( float$cas_token 、
string $key ,mixed
$value [, int
$expiration] )
#「チェックと設定」操作を実行します。
現在のクライアントの最後の
cas_token パラメータ 5、パブリック ブール
Memcached::casByKey
$cas_token、
文字列 $server_key、文字列
$key、混合
$value [, int
$expiration] )
#指定サーバー、上記と同じ
Memcached::set
( string$key,mixed $ value [, int
$expiration] )
#値 (値は任意の有効な非リソース PHP タイプ) を key
Memcached::setByKey
( string$server_key, string $key ,mixed
$value [, int
$expiration ] )
#サーバーを指定します。上記と同様に
Memcached::setMulti
(array$items [ , int $expiration ] )
#複数の要素の保存
Memcached::setMultiByKey
( string$server_key, array $items [, int
$expiration] )
#サーバーを指定します。上記と同じです。
Memcached::add
( string$key、mixed $value [, int
$expiration] )
#新しいキーに要素を追加します。キーが存在する場合、失敗します。
Memcached::addByKey
( string $server_key, string $key ,mixed
$value [, int
$expiration] )指定されたサーバー上の
# 新しいキー
Memcached::touch
( string$key、int) の下に要素を追加します$expiration)
#キーの新しい有効期限を設定します
Memcached::touchByKey
( string$server_key , string $key , int
$expiration)
#指定されたサーバーのキーの有効期限を設定します
Memcached::append
( string$key , string $value )
#文字列
value
注意:如果Memcached::OPT_COMPRESSION常量开启,这个操作会失败,并引发一个警告,因为向压缩数据后追加数据可能会导致解压不了。
<?php $a = new Memcached(); $a->addServer('192.168.95.11', 11211); #$a->addServer('192.168.95.11', 11210); #$a->setOption(Memcached::OPT_COMPRESSION, false); $b=$a->append('e','popop'); 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::setOption( int $option ,mixed
$value )
##1 を設定しますmemcached options
40, public bool
Memcached::setOptions( array $options )##複数の memcached オプションを設定します
41. public int
(void)
#最後の操作の結果コードを返します42. public string
Memcached::getResultMessage( void )
#最後の操作の結果説明メッセージを返します43、パブリック配列
Memcached::getServerByKey( string
$server_key )#キー44、パブリック配列
(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 サイトの他の関連記事を参照してください。