CRUD操作

這兩段程式碼示範 Memcached 的基礎 CRUD、數值遞增、附加操作,先整理核心 API 與執行邏輯:

Set / Replace / Add

static void Main(string[] args)
{
    MemcachedClient uniqueInstance = new MemcachedClient();

    // 1. StoreMode.Set:key不存在就建立,已存在則直接覆寫
    uniqueInstance.Store(StoreMode.Set, "site", "foxdevelop.com");
    Console.WriteLine(uniqueInstance.Get<string>("site")); 
    // 輸出:foxdevelop.com

    // 2. StoreMode.Replace:只有key**存在**才更新,key不存在不會執行
    uniqueInstance.Store(StoreMode.Replace, "site", "foxdevelop.com2");
    Console.WriteLine(uniqueInstance.Get<string>("site")); 
    // 輸出:foxdevelop.com2

    // 3. StoreMode.Add:只有key**不存在**才新增,key已存在就不變更
    uniqueInstance.Store(StoreMode.Add, "site", "www.google.com");
    Console.WriteLine(uniqueInstance.Get<string>("site")); 
    // key site已存在,不生效,仍然輸出:www.baidu.com

    // 4. 再次呼叫 Set,覆蓋舊值
    uniqueInstance.Store(StoreMode.Set, "site", "www.microsoft.com");
    Console.WriteLine(uniqueInstance.Get<string>("site")); 
    // 輸出:www.microsoft.com

    // Append:在既有 value 尾端附加字串
    // uniqueInstance.Append("site", "");

    // Increment 數值遞增
    uniqueInstance.Increment("count", 1, 2);

    Console.Read();
}Code language: JavaScript (javascript)

StoreMode 三種模式比較

模式執行規則
StoreMode.Set通用模式,key存在就覆寫、不存在就建立
StoreMode.Add僅新增,key已存在就放棄寫入
StoreMode.Replace僅更新,key不存在就放棄寫入

Remove 刪除與 Increment 遞增

MemcachedClient uniqueInstance = new MemcachedClient();

uniqueInstance.Store(StoreMode.Set, "site", "foxdevelop.com");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// 輸出:foxdevelop.com

// Remove:刪除指定的key
uniqueInstance.Remove("site");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// key已刪除,Get讀取不到,回傳空字串

// Append 已註解
// uniqueInstance.Append("site",);

// Increment(鍵名, 遞增步長, 初始值)
uniqueInstance.Increment("count", 1, 2);
Console.WriteLine(uniqueInstance.Get<string>("count"));Code language: JavaScript (javascript)

重要API說明

  1. Remove("key")
    刪除快取內指定key;刪除後 Get<T> 讀不到資料,會回傳預設值(字串型別為空字串)。
  2. Increment("count", 1, 2)
    參數定義:
  • 參數1:鍵名 count
  • 參數2:遞增步長(每次 +1)
  • 參數3:初始值
  • count 不存在 → 建立key,初始值 = 2
  • count 已經存在 → 在原有數值之上 +1

Increment 只接受數字格式字串,不能用在一般網址文字。

  1. Append(key, data)
    在目標key對應 value 的尾巴追加內容;key不存在時不會有任何效果。
    還有對應的 Prepend,可以在 value 開頭插入內容。

CRUD操作

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *