decrement will not change TTL of the stored key/value.
(PECL memcached >= 0.1.0)
Memcached::decrement — Disminuye un valor numérico
$key
,$offset
= 1,$initial_value
= 0,$expiry
= 0
Memcached::decrement() disminuye el valor numérico
de offset
unidades. Si el elemento no es numérico,
se emitirá un error. Si la operación intenta disminuir por debajo de 0,
el nuevo valor será 0. Memcached::decrement()
establecerá el elemento al valor del parámetro initial_value
si la clave no existe.
key
La clave del elemento a disminuir.
offset
La cantidad con la que disminuir el elemento.
initial_value
El valor a utilizar para definir el elemento si no existe.
expiry
El tiempo de expiración en la definición del elemento.
Devuelve el nuevo valor del elemento en caso de éxito o false
si ocurre un error.
Ejemplo #1 Ejemplo con 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 elemento no es numérico
var_dump($n);
?>
El ejemplo anterior mostrará :
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