• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Memcached::increment()

    (PECL memcached >= 0.1.0)

    增加数值元素的值

    说明

    publicMemcached::increment(string $key[,int $offset= 1]): int

    Memcached::increment()将一个数值元素增加参数$offset指定的大小。如果元素的值不是数值类型,将其作为0处理。如果元素不存在Memcached::increment()失败。

    参数

    $key

    要增加值的元素的key。

    $offset

    要将元素的值增加的大小。

    返回值

    成功时返回元素的新值或者在失败时返回FALSE。如果key不存在Memcached::getResultCode()方法返回Memcached::RES_NOTFOUND

    范例

    Example #1 Memcached::increment()示例

    <?php
    $m = new Memcached();
    $m->addServer('localhost', 11211);
    $m->set('counter', 0);
    $m->increment('counter');
    $m->increment('counter', 10);
    var_dump($m->get('counter'));
    $m->set('key', 'abc');
    $m->increment('counter');
    ?>
    

    以上例程会输出:

    int(11)
    string(1) "1"
    

    参见

    • Memcached::decrement() 减小数值元素的值
    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.
    If it'll save others some head-scratching, the PECL Memcached extension only supports initializing increment (or decrement) values from 2.0.0b2 onwards - i.e. not the version (1.0.2) that comes out of the box with Ubuntu 12.04.
    PECL memcached < 0.2.0
    public int Memcached::increment ( string $key [, int $offset = 1 ] )
    increment does not alter the time to live of the object.