Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement数値アイテムの値を減らす

説明

public int 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)

参考

add a note add a note

User Contributed Notes 3 notes

up
17
Pramod Patil
3 years ago
decrement will not change TTL of the stored key/value.
up
12
Pramod Patil
3 years ago
Found possible bug :
decrement fails and returns -1  when memcached::OPT_BINARY_PROTOCOL is set to true.

tested on PECL Memcached 2.1.0 and libmemcached version 1.0.8
up
1
jbaginski
4 years ago
PECL memcached < 0.2.0

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