이 두 코드 예시는 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 설명
Remove("key")
캐시에서 지정한 키를 삭제합니다. 삭제 후Get<T>는 데이터를 읽어올 수 없으며 기본값(문자열일 경우 빈 문자열)을 반환합니다.Increment("count", 1, 2)
매개변수 의미:
- 매개변수1:키 이름
count - 매개변수2:증가 단위(매번 +1)
- 매개변수3:초기값
count가 없으면 → 키를 만들고 초기값 = 2count가 이미 존재하면 → 기존 숫자에 +1
Increment는 오직숫자 형식 문자열만 지원하며 일반 URL 텍스트에는 사용할 수 없습니다.
Append(key, data)
대상 키의 value뒤에 내용을 추가합니다. 키가 없으면 아무 일도 일어나지 않습니다.
value 앞에 내용을 넣는Prepend도 함께 제공됩니다.
CRUD 작업