Memcached::increment
(PECL memcached >= 0.1.0)
Memcached::increment — 数値アイテムの値を増やす
説明
public Memcached::increment(
string
int
int
int
): int|false
string
$key
,int
$offset
= 1,int
$initial_value
= 0,int
$expiry
= 0): int|false
Memcached::increment() は、数値アイテムの値を
offset
で指定しただけ増やします。
アイテムの値が数値でない場合はエラーとなります。
アイテムが存在しない場合、Memcached::increment() は値を
initial_value
に設定します。
パラメータ
key
-
増やしたいアイテムのキー。
offset
-
値を増やしたい量。
initial_value
-
そのアイテムが存在しない場合に設定する値。
expiry
-
そのアイテムに設定する有効期限。
戻り値
成功した場合にアイテムの新しい値、失敗した場合に false
を返します。
例
例1 Memcached::increment() の例
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('counter', 0);
$m->increment('counter');
$n = $m->increment('counter', 10);
var_dump($n);
$m->set('counter', 'abc');
$n = $m->increment('counter');
// アイテムの値が数値でないので、これは失敗します
var_dump($n);
?>
上の例の出力は以下となります。
int(11) bool(false)
参考
- Memcached::decrement() - 数値アイテムの値を減らす
- Memcached::decrementByKey() - 指定したサーバー上にある数値アイテムの値を減らす
- Memcached::incrementByKey() - 指定したサーバー上にある数値アイテムの値を増やす
+add a note
User Contributed Notes 4 notes
Anonymous ¶
11 years ago
Spent a long time frustrated with this. If you read the patch notes carefully:
- Make increment/decrement initialize value when it is not available (when using binary protocol).
If you dont have the opt binary protocol set the arguments for initial value just return an error 38 - INVALID ARGUMENTS. This is not documented.