Weitere Operationen

I. FlushAll() Cache leeren

mClient.Store(StoreMode.Set, "key1", 1234L);
Console.Write(mClient.Get("key1")); // 1234 normal abrufen
mClient.FlushAll();
Console.Write(mClient.Get("key1")); // Gibt null ausCode-Sprache: JavaScript (javascript)
Wichtige Hinweise
  1. FlushAll(): Löscht alle Schlüssel auf dem Memcached‑Server, nur mit großer Vorsicht benutzen!
  • Niemals in Produktivumgebungen aufrufen – löscht sämtliche Geschäftscache‑Einträge;
  • Macht vorhandene Einträge ungültig, gibt aber keinen Speicher frei (Memcached Lazy‑Bereinigung).

II. TryGet Sicheres Cache‑Abrufen

object obj = null;
var isSuc = mClient.TryGet("key1", out obj );
// Schlüssel vorhanden: isSuc=true, obj =1234

isSuc = mClient.TryGet("key1", out obj );
// Schlüssel fehlt: isSuc=false, obj bleibt nullCode-Sprache: JavaScript (javascript)

Get() im Vergleich zu TryGet()

MethodeEigenschaftenEinsatzbereich
mClient.Get(key)Gibt null bei fehlendem Schlüssel zurück; kann nicht unterscheiden zwischen gespeichertem null‑Wert und fehlendem SchlüsselEinfache Lesezugriffe ohne Prüfung auf Schlüssel‑Existenz
mClient.TryGet(key, out obj)Boolescher Rückgabewert signalisiert Schlüssel‑Vorhandensein; unterscheidet beide null‑Fälle exaktEmpfohlen bei Geschäftslogik mit Cache‑Hit‑Prüfung

Generische Variante wird unterstützt: mClient.TryGet<T>(key, out T value)

Wichtige Anmerkungen

  • FlushAll() ist ein serverseitiger Befehl. Bei Cluster‑Betrieb löscht er standardmäßig Daten auf allen Knoten;
  • Memcached besitzt keine Persistenz; alle Daten gehen beim Neustart des Dienstes verloren;
  • Nutzen Sie bevorzugt TryGet zum Schutz vor Cache‑Penetration, um Massenanfragen gegen die Datenbank zu vermeiden.

Weitere Operationen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert