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
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()
| Methode | Eigenschaften | Einsatzbereich |
|---|---|---|
mClient.Get(key) | Gibt null bei fehlendem Schlüssel zurück; kann nicht unterscheiden zwischen gespeichertem null‑Wert und fehlendem Schlüssel | Einfache 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 exakt | Empfohlen 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
TryGetzum Schutz vor Cache‑Penetration, um Massenanfragen gegen die Datenbank zu vermeiden.
Weitere Operationen
Previous: Objektspeicherung