Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrementDecrement numeric item's value

Description

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

Memcached::decrement() decrements a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. If the operation would decrease the value below 0, the new value will be 0. Memcached::decrement() will set the item to the initial_value parameter if the key doesn't exist.

Parameters

key

The key of the item to decrement.

offset

The amount by which to decrement the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Return Values

Returns item's new value on success or false on failure.

Examples

Example #1 Memcached::decrement() example

<?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);
?>

The above example will output:

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

See Also

add a note add a note

User Contributed Notes 3 notes

up
17
Pramod Patil
10 years ago
decrement will not change TTL of the stored key/value.
up
11
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
up
0
jbaginski
11 years ago
PECL memcached < 0.2.0

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