Memcached::decrement
(PECL memcached >= 0.1.0)
Memcached::decrement — 减小数值元素的值
说明
public Memcached::decrement(
string
int
int
int
): int|false
string
$key
,int
$offset
= 1,int
$initial_value
= 0,int
$expiry
= 0): int|false
Memcached::decrement() 减小数值元素的值,减小多少由参数 offset
决定。如果元素的值不是数值,则会导致错误。如果减小后的值小于 0,则新值会设为 0。如果键不存在,Memcached::decrement()
会将元素设置为 initial_value
参数。
参数
key
-
将要减小值的元素的 key。
offset
-
要减少的元素值要减少的数量。
initial_value
-
如果 key 不存在的时候设置到元素的值。
expiry
-
设置的元素过期时间。
返回值
成功时返回元素的新值, 或者在失败时返回 false
。
示例
示例 #1 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');
// ^ will fail due to item value not being numeric
var_dump($n);
?>
以上示例会输出:
int(4) int(0) int(0) bool(false)
参见
- Memcached::increment() - 增加数值元素的值
- Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server
- Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server
+添加备注
用户贡献的备注 3 notes
Pramod Patil ¶
10 years ago
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