Memcached::decrement

数値アイテムの値を減らす

説明

public intfalse Memcached::decrement(
    string $key,
    int $offset = 1,
    int $initial_value = 0,
    int $expiry = 0
)

Memcached::decrement は、数値アイテムの値を offset で指定しただけ減らします。 アイテムの値が数値でない場合はエラーとなります。 操作後の値が 0 より小さくなる場合は、新しい値は 0 となります。 アイテムが存在しない場合、Memcached::decrement は値を initial_value に設定します。

パラメータ

key

減らしたいアイテムのキー。

offset

値を減らしたい量。

initial_value

そのアイテムが存在しない場合に設定する値。

expiry

そのアイテムに設定する有効期限。

戻り値

成功した場合にアイテムの新しい値、失敗した場合に false を返します。

例1 Memcached::decrement の例

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 5);
$n = $m->decrement('counter');
var_dump($n);

$n = $m->decrement('counter', 10);
var_dump($n);

var_dump($m->get('counter'));

$m->set('counter', 'abc');
$n = $m->increment('counter');
// アイテムの値が数値でないので、これは失敗します
var_dump($n);
?>

上の例の出力は以下となります。

int(4)
int(0)
int(0)
bool(false)

参考

  • Memcached::increment
  • Memcached::incrementByKey
  • Memcached::decrementByKey