CRUD 작업

이 두 코드 예시는 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 세 가지 모드 비교

모드실행 규칙
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뒤에 내용을 추가합니다. 키가 없으면 아무 일도 일어나지 않습니다.
    value 앞에 내용을 넣는 Prepend도 함께 제공됩니다.

CRUD 작업

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다