decrement will not change TTL of the stored key/value.
(PECL memcached >= 0.1.0)
Memcached::decrement — Decrementar un valor numérico de un ítem
$key
,$offset
= 1,$initial_value
= 0,$expiry
= 0
Memcached::decrement() decrementa un valor numérico de un ítem
por el offset
especificado. Si el valor del ítem no es
numérico, generará un error. Si la operación requiere
decrementar un valor inferior a 0, el nuevo valor será 0.
Memcached::decrement() establecerá el ítem al
parámetro initial_value
si la clave no existe.
key
La clave del ítem a decrementar.
offset
La cantidad por la que decrementar el valor del ítem.
initial_value
El valor para establecer el ítem si actualmente no existe.
expiry
El periodo de expiración a establecer para el ítem.
Devuelve el nuevo valor del ítem en caso de éxito o false
en caso de error.
Ejemplo #1 Ejemplo de 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');
// ^ fallará debido a que el valor del ítem no es numérico
var_dump($n);
?>
El resultado del ejemplo sería:
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