PHP Conference Nagoya 2025

apcu_store

(PECL apcu >= 4.0.0)

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

Description

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

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

Note: Contrairement à de nombreux autres mécanismes dans PHP, les variables stockées utilisant apcu_store() 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, stocker une seconde valeur avec le même paramètre key va réécrire sur la valeur originale.

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 au paramètre 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

Cette fonction retourne true en cas de succès ou false si une erreur survient. La seconde syntaxe retourne un tableau avec les clés erronées.

Exemples

Exemple #1 Un exemple avec apcu_store()

<?php
$bar
= 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>

L'exemple ci-dessus va afficher :

string(3) "BAR"

Voir aussi

  • apcu_add() - Met en cache une nouvelle 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
2
info at qmegas dot info
3 years ago
Be careful when updating same key with ttl set during same request. For example:
<?php
for ($i = 0; $i < 20; $i++) {
apcu_store('test', $i, 10);
sleep(1);
}
?>

After 10 seconds the key will become not available and won't be updated. Tested on Windows and Linux platforms. Not sure if it's a bug or undocumented behavior.
To Top