Diese beiden Code‑Beispiele zeigen grundlegende Memcached‑CRUD‑Operationen, numerisches Hochzählen und Anhängen von Werten. Zuerst gehen wir auf die zentralen APIs und Ausführungslogik ein:
Set / Replace / Add
static void Main(string[] args)
{
MemcachedClient uniqueInstance = new MemcachedClient();
// 1. StoreMode.Set: Neuanlage bei fehlendem Key, Überschreiben bei vorhandenem Key
uniqueInstance.Store(StoreMode.Set, "site", "foxdevelop.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Ausgabe: foxdevelop.com
// 2. StoreMode.Replace: Aktualisiert nur, wenn der Key **vorhanden** ist; keine Aktion bei fehlendem Key
uniqueInstance.Store(StoreMode.Replace, "site", "foxdevelop.com2");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Ausgabe: foxdevelop.com2
// 3. StoreMode.Add: Legt nur neu an, wenn der Key **nicht existiert**, Änderung wird übersprungen bei vorhandenem Key
uniqueInstance.Store(StoreMode.Add, "site", "www.google.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Key site ist vorhanden, keine Wirkung, Ausgabe bleibt: www.baidu.com
// 4. Erneuter Set‑Aufruf zum Überschreiben des alten Werts
uniqueInstance.Store(StoreMode.Set, "site", "www.microsoft.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Ausgabe: www.microsoft.com
// Append: Zeichenkette am Ende eines vorhandenen Werts anhängen
// uniqueInstance.Append("site", "");
// Increment: Numerischen Wert hochzählen
uniqueInstance.Increment("count", 1, 2);
Console.Read();
}Code-Sprache: JavaScript (javascript)
Vergleich der drei StoreMode‑Modi
| Modus | Ausführungsregel |
|---|---|
StoreMode.Set | Universell, überschreibt vorhandene Keys, erstellt fehlende Keys |
StoreMode.Add | Nur Neuanlage, Schreibvorgang wird übersprungen, falls Key existiert |
StoreMode.Replace | Nur Aktualisierung, Schreibvorgang wird übersprungen, falls Key fehlt |
Remove‑Löschung und Increment‑Hochzählen
MemcachedClient uniqueInstance = new MemcachedClient();
uniqueInstance.Store(StoreMode.Set, "site", "foxdevelop.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Ausgabe: foxdevelop.com
// Remove: Angegebener Key löschen
uniqueInstance.Remove("site");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Key gelöscht, Get liefert keinen Wert, leere Zeichenkette
// Append auskommentiert
// uniqueInstance.Append("site",);
// Increment(Schlüssel, Schrittweite, Anfangswert)
uniqueInstance.Increment("count", 1, 2);
Console.WriteLine(uniqueInstance.Get<string>("count"));Code-Sprache: JavaScript (javascript)
Wichtige API‑Beschreibung
Remove("key")
Löscht den angegebenen Schlüssel aus dem Cache. Nach dem Löschen liefertGet<T>keine Daten und gibt den Standardwert zurück (leere Zeichenkette bei String‑Typ).Increment("count", 1, 2)
Parameter‑Bedeutung:
- Parameter 1: Schlüsselname
count - Parameter 2: Hochzähl‑Schrittweite (jeweils +1)
- Parameter 3: Anfangswert
- Falls
countnicht existiert → Schlüssel erzeugen, Anfangswert = 2 - Falls
countbereits existiert → +1 zum vorhandenen Zahlenwert addieren
Incrementfunktioniert nur mitzahlenförmigen Zeichenketten, nicht mit normalem Text wie Web‑Adressen.
Append(key, data)
Hängt Inhalt an dasEnde des zum Schlüssel gehörenden Wertsan; ohne Wirkung, wenn der Schlüssel nicht existiert.
Zusätzlich gibt esPrependzum Einfügen am Anfang des Werts.
CRUD‑Operationen
Previous: Verwendung mit C#
Next: Objektspeicherung