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 — Increment numeric item's value
Descrierea
public int Memcached::increment
( string
$key
[, int $offset = 1
[, int $initial_value = 0
[, int $expiry = 0
]]] )
Memcached::increment() increments a numeric item's value
by the specified offset. If the item's value is not
numeric, an error will result.
Memcached::increment() will set the item to the
initial_value parameter if the key doesn't exist.
Parametri
-
key -
The key of the item to increment.
-
offset -
The amount by which to increment the item's value.
-
initial_value -
The value to set the item to if it doesn't currently exist.
-
expiry -
The expiry time to set on the item.
Valorile întoarse
Returns new item's value on success sau FALSE în cazul eșecului.
Exemple
Example #1 Memcached::increment() example
<?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');
// ^ will fail due to item value not being numeric
var_dump($n);
?>
Exemplul de mai sus va afișa:
int(11) bool(false)
Vedeți de asemenea
- Memcached::decrement() - Decrement numeric item's value
- Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server
- Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server
Anonymous ¶
3 months ago
