Autres opérations

I. FlushAll() Vider le cache

mClient.Store(StoreMode.Set, "key1", 1234L);
Console.Write(mClient.Get("key1")); // Récupère 1234 normalement
mClient.FlushAll();
Console.Write(mClient.Get("key1")); // Affiche nullLangage du code : JavaScript (javascript)
Points clés
  1. FlushAll() : Supprime toutes les clés sur le serveur Memcached, utilisez‑le avec précaution !
  • Interdit en production : efface l’intégralité du cache métier ;
  • Se contente d’invalider les données existantes sans libérer la mémoire (nettoyage paresseux Memcached).

II. TryGet Récupération sûre du cache

object obj = null;
var isSuc = mClient.TryGet("key1", out obj );
// Clé présente : isSuc=true, obj =1234

isSuc = mClient.TryGet("key1", out obj );
// Clé absente : isSuc=false, obj reste nullLangage du code : JavaScript (javascript)

Comparaison Get() vs TryGet()

MéthodeCaractéristiquesCas d’usage
mClient.Get(key)Retourne null si la clé n’existe pas ; impossible de distinguer une valeur‑null stockée d’une clé absenteLecture simple, sans besoin de vérifier l’existence de la clé
mClient.TryGet(key, out obj)Valeur booléenne pour l’existence de la clé ; différencie précisément les deux cas de nullÀ privilégier quand il faut détecter un hit cache

La version générique est disponible : mClient.TryGet<T>(key, out T value)

Remarques importantes

  • FlushAll() est une instruction serveur ; en cluster il vide par défaut les données de tous les nœuds ;
  • Memcached ne persiste rien : tout est perdu au redémarrage du service ;
  • Utilisez de préférence TryGet pour vous protéger contre le cache‑penetration, éviter des requêtes massives vers la base de données.

Autres opérations

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *