Ces deux extraits de code illustrent les opérations CRUD basiques de Memcached, l’incrémentation numérique et l’ajout en fin de chaîne. Passons en revue les API principales et leur logique d’exécution :
Set / Replace / Add
static void Main(string[] args)
{
MemcachedClient uniqueInstance = new MemcachedClient();
// 1. StoreMode.Set : crée une entrée si la clé n’existe pas, écrase la valeur si elle existe
uniqueInstance.Store(StoreMode.Set, "site", "foxdevelop.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Sortie : foxdevelop.com
// 2. StoreMode.Replace : met à jour seulement si la clé **existe**, ne fait rien sinon
uniqueInstance.Store(StoreMode.Replace, "site", "foxdevelop.com2");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Sortie : foxdevelop.com2
// 3. StoreMode.Add : crée l’entrée seulement si la clé **n’existe pas**, ignore si la clé existe
uniqueInstance.Store(StoreMode.Add, "site", "www.google.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// La clé site existe déjà, pas d’effet, sortie inchangée : www.baidu.com
// 4. Nouvel appel à Set pour écraser l’ancienne valeur
uniqueInstance.Store(StoreMode.Set, "site", "www.microsoft.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Sortie : www.microsoft.com
// Append : ajoute une chaîne à la fin de la valeur existante
// uniqueInstance.Append("site", "");
// Increment : incrémente une valeur numérique
uniqueInstance.Increment("count", 1, 2);
Console.Read();
}Langage du code : JavaScript (javascript)
Comparaison des trois modes StoreMode
| Mode | Règle d’exécution |
|---|---|
StoreMode.Set | Générique, écrase si la clé existe, crée si elle n’existe pas |
StoreMode.Add | Création seule, ignore l’écriture si la clé existe |
StoreMode.Replace | Mise à jour seule, ignore l’écriture si la clé n’existe pas |
Remove suppression et Increment incrémentation
MemcachedClient uniqueInstance = new MemcachedClient();
uniqueInstance.Store(StoreMode.Set, "site", "foxdevelop.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Sortie : foxdevelop.com
// Remove : supprime la clé indiquée
uniqueInstance.Remove("site");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// Clé supprimée, Get ne renvoie rien : chaîne vide
// Append mis en commentaire
// uniqueInstance.Append("site",);
// Increment(clé, pas d’incrément, valeur initiale)
uniqueInstance.Increment("count", 1, 2);
Console.WriteLine(uniqueInstance.Get<string>("count"));Langage du code : JavaScript (javascript)
Présentation des API essentielles
Remove("key")
Supprime la clé du cache. Après suppression,Get<T>ne récupère aucune donnée et renvoie la valeur par défaut (chaîne vide pour le type chaîne).Increment("count", 1, 2)
Définition des paramètres :
- Paramètre 1 : nom de clé
count - Paramètre 2 : pas d’incrément (+1 à chaque appel)
- Paramètre 3 : valeur initiale
- Si
countn’existe pas → crée la clé avec valeur initiale = 2 - Si
countexiste déjà → ajoute 1 à la valeur numérique actuelle
Incrementne fonctionne qu’avec des chaînesau format numérique ; il ne s’applique pas à des textes classiques comme des adresses web.
Append(key, data)
Ajoute du contenu à lafin de la valeurassociée à la clé. Sans effet si la clé n’existe pas.
On dispose aussi dePrependpour insérer du contenu au début de la valeur.
Opérations CRUD
Previous: Utilisation en C#
Next: Stockage d’objet