PHP Conference Japan 2024

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement递减数值项目的数值

描述

public Memcached::decrement(
    string $key,
    int $offset = 1,
    int $initial_value = 0,
    int $expiry = 0
): int|false

Memcached::decrement() 将数值项目的数值递减指定的 offset 值。如果项目的数值不是数值型,则会产生错误。如果操作会将数值减少到低于 0,则新数值将为 0。Memcached::decrement() 如果键不存在,则会将项目设置为 initial_value 参数的值。

参数

key

要递减的项目的键。

offset

要递减项目数值的数值。

initial_value

如果项目当前不存在,则要设置为项目的数值。

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');
// ^由于项目值不是数值型,此操作将失败
var_dump($n);
?>

以上示例将输出

int(4)
int(0)
int(0)
bool(false)

参见

添加注释

用户贡献的注释 3 条注释

Pramod Patil
10 年前
decrement 不会更改存储的键/值的 TTL。
Pramod Patil
10 年前
发现可能的错误
当 memcached::OPT_BINARY_PROTOCOL 设置为 true 时,decrement 失败并返回 -1。

在 PECL Memcached 2.1.0 和 libmemcached 版本 1.0.8 上测试
jbaginski
11 年前
PECL memcached < 0.2.0

public int Memcached::decrement ( string $key [, int $offset = 1 ] )
To Top