2024年PHP开发者大会 日本站

Memcached::increment

(PECL memcached >= 0.1.0)

Memcached::increment递增数值项的值

描述

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

Memcached::increment() 将数值项的值递增指定的 offset。如果项的值不是数值,则会产生错误。Memcached::increment() 如果键不存在,则会将项设置为 initial_value 参数的值。

参数

key

要递增的项的键。

offset

要递增项的值的数量。

initial_value

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

expiry

要设置在项上的过期时间。

返回值

成功时返回新的项的值,失败时返回 false

示例

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

以上示例将输出

int(11)
bool(false)

参见

添加注释

用户贡献的注释 4条注释

匿名用户
11年前
为此苦恼了很久。仔细阅读补丁说明后

- 使 increment/decrement 在值不可用时初始化值(使用二进制协议时)。

如果未设置 opt 二进制协议,则初始值的参数将返回错误 38 - 无效参数。这并未在文档中说明。
jbaginski
11年前
PECL memcached < 0.2.0

public int Memcached::increment ( string $key [, int $offset = 1 ] )
Sam
12年前
increment 不会更改对象的生存时间。
匿名用户
11年前
如果能帮其他人省去一些费解的时间,PECL Memcached 扩展只从 2.0.0b2 开始支持初始化增量(或减量)值 - 即不是 Ubuntu 12.04 自带的版本 (1.0.2)。
To Top