Otras operaciones

I. FlushAll() Limpiar caché

mClient.Store(StoreMode.Set, "key1", 1234L);
Console.Write(mClient.Get("key1")); // Obtiene 1234 correctamente
mClient.FlushAll();
Console.Write(mClient.Get("key1")); // Devuelve nullLenguaje del código: JavaScript (javascript)
Notas importantes
  1. FlushAll(): Borra todas las claves del servidor Memcached, úsalo con mucha precaución!
  • No invocar en entorno de producción; elimina todo el caché de negocio;
  • Solo invalida registros existentes sin liberar memoria (limpieza perezosa de Memcached).

II. TryGet Obtención segura de caché

object obj = null;
var isSuc = mClient.TryGet("key1", out obj );
// Clave existente: isSuc=true, obj =1234

isSuc = mClient.TryGet("key1", out obj );
// Clave inexistente: isSuc=false, obj mantiene nullLenguaje del código: JavaScript (javascript)

Comparación Get() frente a TryGet()

MétodoCaracterísticasCasos de uso
mClient.Get(key)Devuelve null si no existe la clave; no distingue entre valor‑null guardado y clave ausenteLecturas simples, sin importar si la clave existe
mClient.TryGet(key, out obj)Valor booleano indica presencia de clave; distingue exactamente los dos escenarios de nullRecomendado cuando hay que detectar aciertos de caché

También existe la versión genérica: mClient.TryGet<T>(key, out T value)

Observaciones

  • FlushAll() es una orden del lado servidor. En clúster borra por defecto los datos de todos los nodos;
  • Memcached no tiene persistencia; todos los datos se pierden al reiniciar el servicio;
  • Prefiere TryGet para protegerse contra penetración de caché y evitar inundar la base de datos con peticiones.

Otras operaciones

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *