Opérations CRUD

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

ModeRègle d’exécution
StoreMode.SetGénérique, écrase si la clé existe, crée si elle n’existe pas
StoreMode.AddCréation seule, ignore l’écriture si la clé existe
StoreMode.ReplaceMise à 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

  1. 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).
  2. 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 count n’existe pas → crée la clé avec valeur initiale = 2
  • Si count existe déjà → ajoute 1 à la valeur numérique actuelle

Increment ne fonctionne qu’avec des chaînesau format numérique ; il ne s’applique pas à des textes classiques comme des adresses web.

  1. Append(key, data)
    Ajoute du contenu à lafin de la valeurassociée à la clé. Sans effet si la clé n’existe pas.
    On dispose aussi de Prepend pour insérer du contenu au début de la valeur.

Opérations CRUD

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *