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 — Incrémente numériquement un élément
Description
$key
[, int $offset = 1
[, int $initial_value = 0
[, int $expiry = 0
]]] )
Memcached::increment() incrémente la valeur numérique
de offset unités. Si l'élément n'est pas numérique,
une erreur sera émise. Memcached::increment() va définir
l'élément à la valeur du paramètre initial_value si la
clé n'existe pas.
Liste de paramètres
-
key -
La clé de l'élément à incrémenter.
-
offset -
La quantité avec laquelle augmenter l'élément.
-
initial_value -
La valeur à utiliser pour définir l'élément s'il n'existe pas.
-
expiry -
Le délai d'expiration pour définir l'élément.
Valeurs de retour
Retourne la nouvelle valeur de l'élément, en cas de succès ou FALSE si une erreur survient.
Exemples
Exemple #1 Exemple avec Memcached::getResultCode()
<?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');
// ^ va échouer en raison du fait que la valeur de l'élément n'est pas un numérique
var_dump($n);
?>
L'exemple ci-dessus va afficher :
int(11) bool(false)
Voir aussi
- Memcached::decrement() - Décrémente une valeur numérique
- Memcached::decrementByKey() - Décrémente une valeur numérique d'un élément, stocké sur un serveur spécifique
- Memcached::incrementByKey() - Incrémente une valeur numérique d'un élément, stocké sur un serveur spécifique
