Java MemCached 간이 튜 토리 얼

프로필:
Memcached 데이터베이스 부 하 를 줄 이기 위해 동적 웹 응용 에 사용 되 는 고성능 분포 식 메모리 대상 캐 시 시스템 입 니 다.
준비:
1. Memcached 서버 를 다운로드 하고 설치
2. spymemcached 다운로드 jar 가방
초기 화:
Client 를 초기 화 할 때 Memcached 서버 의 IP 와 포트 가 필요 합 니 다 (기본 값 11211)
	MemcachedClient client = new MemcachedClient(new InetSocketAddress("127.0.0.1",11211));

저장 소:
set, add, replace 세 가지 가 있 는데 모두 세 가지 매개 변수 가 있 습 니 다. 첫 번 째 매개 변 수 는 Key 이 고 두 번 째 매개 변 수 는 저장 시간 이 며 세 번 째 매개 변 수 는 Value 입 니 다.
세 가지 차이 점 은 Add 필수 Key 는 존재 하지 않 고 Replace 필수 Key 는 존재 하지 않 으 며 Set 는 존재 하 든 존재 하지 않 든 저장 해 야 한 다 는 것 이다.
1.Set
	client.set("101", 1000, new String("Hello"));

2.Add
	client.add("102", 1000, new String("Mark"));

3.Replace
	client.replace("101", 1000, new String("Sorry"));

가 져 오기:
get, gets, getBulk 세 가지 가 있 습 니 다. get 은 구체 적 인 Value 를 되 돌려 줍 니 다. gets 는 CASVValue 대상 을 되 돌려 줍 니 다. Value 를 포함 하여 하나의 ca 값 (check and set) 과 메모리 주소 번호 의 맛 이 있 지만 그렇지 않 습 니 다.getBulk 은 대량으로 가 져 오 는 데 사용 되 며, 되 돌아 오 는 것 은 맵 입 니 다.
1.Get
	client.get("101");

2.Gets
	client.gets("102");

3.getBulk
	client.getBulk(new String[]{"001","002","003"});

집계 코드:
import java.io.IOException;
import java.net.InetSocketAddress;
import net.spy.memcached.MemcachedClient;

public class TestMemCached {
	public static void main(String[] args) throws IOException, InterruptedException {
		MemcachedClient client = new MemcachedClient(
			new InetSocketAddress("127.0.0.1",11211));
			client.set("101", 3600, new String("Hello"));
			System.out.println(client.get("001"));
			
			client.add("102", 3600, new String("Mark"));
			System.out.println(client.gets("002"));
			
			client.replace("101", 3600, new String("Sorry"));
			System.out.println(client.getBulk(new String[]{"101","102"}));
	}
}

출력:
Hello
{CasValue 38/Mark}
{102=Mark, 101=Sorry}

또 하나의 asyncGet 방법 이 있 습 니 다. 일정 시간 내 에 가 져 와 야 한다 고 규정 할 수 있 습 니 다. 가 져 오지 않 으 면 취소 합 니 다. 코드 는 다음 과 같 습 니 다.
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

import net.spy.memcached.MemcachedClient;
public class TestMemCached {
	public static void main(String[] args) throws IOException, InterruptedException {
		MemcachedClient client = new MemcachedClient(
			new InetSocketAddress("127.0.0.1",11211));
			client.set("101", 3600, new String("Hello World"));
			
			String testVaule="";
			Future<Object> future= client.asyncGet("101");
			try{
				testVaule = (String) future.get(5,TimeUnit.SECONDS);
			}catch(Exception e)
			{
				future.cancel(true);
			}
			System.out.println(testVaule);
	}
}

좋은 웹페이지 즐겨찾기