decrement will not change TTL of the stored key/value.
(PECL memcached >= 0.1.0)
Memcached::decrement — Decrementa o valor do item numérico
$key
,$offset
= 1,$initial_value
= 0,$expiry
= 0
Memcached::decrement() diminui o valor de um item numérico
pelo offset
especificado. Se o valor do item não for
numérico, ocorrerá um erro. Se a operação diminuir o valor
abaixo de 0, o novo valor será 0.
Memcached::decrement() irá definir o item para o
parâmetro initial_value
se a key não existir.
key
A key do item a ser decrementado.
offset
A quantia pela qual decrementar o valor do item.
initial_value
O valor para definir o item se ele não existir no momento.
expiry
O tempo de expiração a ser definido no item.
Retorna o novo valor do item em caso de sucesso ou ou false
em caso de falha.
Exemplo #1 Memcached::decrement() exemplo
<?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');
// ^ falhará devido ao valor do item não ser numérico
var_dump($n);
?>
O exemplo acima produzirá:
int(4) int(0) int(0) bool(false)
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