(PECL yac >= 1.0.0)
Yac::delete — Supprime des éléments du cache
Supprime un ou plusieurs éléments du cache.
Note:
La suppression est implémentée en marquant l'entrée comme expirée plutôt qu'en vidant son slot : l'entrée cesse immédiatement d'être lisible, mais le slot reste occupé jusqu'à ce que la même clé soit stockée à nouveau ou qu'une écriture ultérieure le récupère. En conséquence, le nombre de slots utilisés rapporté par Yac::info() ne diminue pas après une suppression, et Yac::dump() liste toujours l'entrée supprimée jusqu'à ce que son slot soit recyclé ; un
ttlnon nul dans le passé indique une entrée supprimée ou expirée, il appartient donc à l'appelant de les filtrer dans la sortie de Yac::dump().
Retourne true en cas de succès, ou false si la clé n'était pas
présente dans le cache. Comme une suppression ne fait que marquer
l'entrée comme expirée, une clé supprimée mais pas encore écrasée est
toujours considérée comme présente : supprimer la même clé à nouveau
retourne true.
Quand un array de clés est fourni, true est retourné
uniquement si toutes les clés étaient présentes ; si une clé est
absente, false est retourné.
Exemple #1 Exemple avec Yac::delete()
<?php
$yac = new Yac();
$yac->set("foo", "bar");
var_dump($yac->delete("foo")); // bool(true) : marquée expirée
var_dump($yac->get("foo")); // bool(false) : manquant désormais
var_dump($yac->delete("foo")); // bool(true) à nouveau : le slot n'a pas
// encore été écrasé
var_dump($yac->delete("jamais")); // bool(false) : jamais stockée
// une suppression ne libère pas le slot : slots_used ne diminue pas, et
// l'entrée expirée apparaît toujours dans le dump
var_dump($yac->info()["slots_used"]); // int(1)
print_r($yac->dump()); // "foo" est toujours listée ; son ttl
// est dans le passé
?>Exemple #2 Suppression différée
<?php
$yac = new Yac();
// garder l'entrée lisible encore 60 secondes avant qu'elle expire
$yac->set("tmp", "value");
var_dump($yac->delete("tmp", 60)); // bool(true)
?>Exemple #3 Suppression de plusieurs clés en un appel
<?php
$yac = new Yac();
$yac->set("tmp", "value");
// retourne true uniquement si toutes les clés étaient présentes
var_dump($yac->delete(array("tmp", "non"))); // bool(false) : "non" absente
?>