CRUD処理

この2つのコードはMemcachedの基本的なCRUD処理、数値のインクリメント、追記処理を実演しています。まず主要なAPIと実行ロジックを整理します。

Set / Replace / Add

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

    // 1. StoreMode.Set:キーが無ければ新規作成、存在すれば上書き
    uniqueInstance.Store(StoreMode.Set, "site", "foxdevelop.com");
    Console.WriteLine(uniqueInstance.Get<string>("site")); 
    // 出力:foxdevelop.com

    // 2. StoreMode.Replace:キーが**存在する場合のみ**更新、キーがなければ何も実行しない
    uniqueInstance.Store(StoreMode.Replace, "site", "foxdevelop.com2");
    Console.WriteLine(uniqueInstance.Get<string>("site")); 
    // 出力:foxdevelop.com2

    // 3. StoreMode.Add:キーが**存在しない場合のみ**追加、既存キーは変更しない
    uniqueInstance.Store(StoreMode.Add, "site", "www.google.com");
    Console.WriteLine(uniqueInstance.Get<string>("site")); 
    // キー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 3モードの比較

モード実行ルール
StoreMode.Set汎用、キーがあれば上書き、無ければ新規作成
StoreMode.Add新規登録専用、キーが存在すると書き込みをスキップ
StoreMode.Replace更新専用、キーが存在しないと書き込みをスキップ

Remove による削除と Increment によるインクリメント

MemcachedClient uniqueInstance = new MemcachedClient();

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

// Remove:指定キーを削除
uniqueInstance.Remove("site");
Console.WriteLine(uniqueInstance.Get<string>("site"));
// キー削除済み、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")
    キャッシュから指定したキーを削除。削除後は Get<T> でデータを取得できず、既定値(文字列なら空文字)が返ります。
  2. Increment("count", 1, 2)
    パラメータの意味:
  • 引数1:キー名 count
  • 引数2:増分値(1ずつ加算)
  • 引数3:初期値
  • count が存在しない場合 → キーを作成、初期値 = 2
  • count が存在する場合 → 元の数値に +1

Increment数値形式の文字列にだけ対応し、URLなど普通のテキストには使えません。

  1. Append(key, data)
    対象キーのvalueの末尾に文字列を追記。キーが存在しないと処理は実行されません。
    先頭へ挿入する Prepend も用意されています。

CRUD処理

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です