SymfonyWorld Online 2022 Winter Edition

apcu_add

(PECL apcu >= 4.0.0)

apcu_add Met en cache une nouvelle variable dans le dépôt de données

Description

apcu_add(string $key, mixed $var, int $ttl = 0): bool
apcu_add(array $values, mixed $unused = NULL, int $ttl = 0): array

Met en cache une variable dans le dépôt de données, seulement si elle n'a pas été déjà stockée.

Note: Contrairement à de nombreux autres mécanismes dans PHP, les variables stockées utilisant apcu_add() persisteront entre les requêtes (jusqu'à ce que leurs valeurs soient retirées du cache).

Liste de paramètres

key

Stocke la variable en utilisant ce nom de clé. Chaque clé est unique dans le cache, essayer d'utiliser apcu_add() pour stocker une donnée avec une valeur du paramètre key déjà existante ne va pas réécrire sur la donnée mais va retourner la valeur false. (C'est l'unique différence entre les fonctions apcu_add() et apcu_store().)

var

La variable à stocker.

ttl

Durée de vie; stocke la variable var dans le cache pour une durée de ttl secondes. Après l'expiration de ttl, la variable stockée sera retirée du cache (à la prochaine requête). Si aucune valeur n'est passée à ttl (ou si la valeur de ttl est 0), la variable persistera jusqu'à qu'elle soit retirée manuellement du cache, ou, sinon, elle échouera à sortir du cache (lors d'un effaçage, redémarrage, etc.).

values

Les noms sont fournis par les clés du tableau values, les variables par les valeurs.

Valeurs de retour

Retourne TRUE si une variable a effectivement été ajoutée au cache, FALSE sinon. La seconde syntaxe retourne un tableau avec les clés erronées.

Exemples

Exemple #1 Un exemple avec apcu_add()

<?php
$bar 
'BAR';
apcu_add('foo'$bar);
var_dump(apcu_fetch('foo'));
echo 
"\n";
$bar 'NEVER GETS SET';
apcu_add('foo'$bar);
var_dump(apcu_fetch('foo'));
echo 
"\n";
?>

L'exemple ci-dessus va afficher :

string(3) "BAR"
string(3) "BAR"

Voir aussi

  • apcu_store() - Met en cache une variable dans le dépôt de données
  • apcu_fetch() - Récupère une variable stockée dans le cache
  • apcu_delete() - Retire une variable stockée du cache

add a note

User Contributed Notes 1 note

up
4
sritter at satoya dot cz
1 year ago
This is usable for locking/unlocking

<?php
do {} while (!apcu_add('lock_name', 'foo', 10));
// this part is protected against multiple/multithread run
apcu_delete('lock_name');
To Top