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);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.