PHP 8.4.0 RC2 available for testing

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)

Смотрите также

  • Memcached::decrement() - Уменьшает числовое значение записи
  • Memcached::decrementByKey() - Уменьшает числовое значение записи, хранящееся на определённом сервере
  • Memcached::incrementByKey() - Увеличивает числовое значение записи, хранимой на указанном сервере

add a note

User Contributed Notes 4 notes

up
24
Anonymous
11 years ago
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.
up
8
jbaginski
11 years ago
PECL memcached < 0.2.0

public int Memcached::increment ( string $key [, int $offset = 1 ] )
up
12
Sam
12 years ago
increment does not alter the time to live of the object.
up
5
Anonymous
11 years ago
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.
To Top