CakeFest 2024: The Official CakePHP Conference

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrementDécrémente une valeur numérique

Description

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

Memcached::decrement() décrémente la valeur numérique de offset unités. Si l'élément n'est pas numérique, une erreur sera émise. Si l'opération tente de décrémenter en dessous de 0, la nouvelle valeur sera 0. Memcached::decrement() va définir l'élément à la valeur du paramètre initial_value si la clé n'existe pas.

Liste de paramètres

key

La clé de l'élément à décrémenter.

offset

La quantité avec laquelle diminuer l'élément.

initial_value

La valeur à utiliser pour définir l'élément s'il n'existe pas.

expiry

Le délai d'expiration dans la définition de l'élément.

Valeurs de retour

Retourne la nouvelle valeur de l'élément en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Exemple avec 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');
// ^ va échouer en raison du fait que la valeur de l'élément n'est pas un numérique
var_dump($n);
?>

L'exemple ci-dessus va afficher :

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

Voir aussi

add a note

User Contributed Notes 3 notes

up
18
Pramod Patil
9 years ago
decrement will not change TTL of the stored key/value.
up
11
Pramod Patil
9 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