Spent a long time frustrated with this. If you read the patch notes carefully:
- Make increment/decrement initialize value when it is not available (when using binary protocol).
If you dont have the opt binary protocol set the arguments for initial value just return an error 38 - INVALID ARGUMENTS. This is not documented.
Memcached::increment
(PECL memcached >= 0.1.0)
Memcached::increment — Incrementa el valor númerico del ítem
Descripción
$key
[, int $offset = 1
[, int $initial_value = 0
[, int $expiry = 0
]]] )
Memcached::increment() incrementa el valor numérico del valor del ítem
por el offset especificado. Si el valor del ítem no es
numérico, generará un error.
Memcached::increment() establecerá el ítem al
parámetro initial_value si la clave no existe.
Parámetros
-
key -
La clave del ítem a incrementar.
-
offset -
La cantidad a incrementar el valor del ítem.
-
initial_value -
El valor para esteblecer el ítem si actualmente no existe.
-
expiry -
El periodo de expiración a establecer en el ítem.
Valores devueltos
Devuelve el valor del nuevo ítem en caso de éxito o FALSE en caso de error.
Ejemplos
Ejemplo #1 Ejemplo de Memcached::increment()
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('counter', 0);
$m->increment('counter');
$n = $m->increment('counter', 10);
var_dump($n);
$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(11) bool(false)
Ver también
- Memcached::decrement() - Decrementar de forma numérica el valor de un ítem
- Memcached::decrementByKey() - Disminuir el valor del elemento numérico, almacenado en un servidor específico
- Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server
