java client of couchbase
------------
1. 자바 클라이언트 적용
- pom.xml 에 관련 dependency 추가
-
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>couchbase-client</artifactId>
<version>1.2.3</version>
</dependency>
- client 호출
-
public CouchbaseClient getCouchbaseClient(){
CouchbaseClient couchbaseClient = null;
ArrayList<URI> nodes = new ArrayList<URI>();
// Add one or more nodes of your cluster (exchange the IP with yours)
nodes.add(URI.create("http://lvm001:8091/pools"));
try {
couchbaseClient = new CouchbaseClient(nodes, "default", "");
} catch (Exception e) {
System.err.println("Error connecting to Couchbase: " + e.getMessage());
System.exit(1);
}
return couchbaseClient;
}
2. 자바 클라이언트를 통한 read/write to couchbase
- data 저장방식
- java object : java 에서 생성한 object 그대로 입출력, admin-web 에서 json document 형태로 확인이 가능
- json object : java object 를 json 형태의 object 로 변환하여 입출력, admin-web 에서 json document 형태로 확인이 가능
- string : java object 를 string 형태로 변환하여 입출력, admin-web 에서 json document 형태로 확인 불가
- example
- java object
public void setObject(String id, CouchbaseVO couchbaseVO){
couchbaseClient.add(id, couchbaseVO);
}
public CouchbaseVO getObject(String id){
CouchbaseVO couchbaseVO = null;
couchbaseVO = (CouchbaseVO)couchbaseClient.get(id);
return couchbaseVO;
}
- json obejct
public void setJsonObject(String id, CouchbaseVO couchbaseVO){
Gson gson = new Gson();
couchbaseClient.set(id, gson.toJson(couchbaseVO));
}
public CouchbaseVO getJsonObject(String id){
Gson gson = new Gson();
CouchbaseVO couchbaseVO = null;
couchbaseVO = gson.fromJson((String)couchbaseClient.get(id), CouchbaseVO.class);
return couchbaseVO;
}
- string
public void setString(String id, CouchbaseVO couchbaseVO){
couchbaseClient.set(id, couchbaseVO.toString());
}
public CouchbaseVO getString(String id){
CouchbaseVO couchbaseVO = null;
String value = (String) couchbaseClient.get(id);
couchbaseVO = CouchbaseVO.convert(value);
return couchbaseVO;
}
- 비교
- write : string > java == json
- read : string > java == json
- 큰 차이가 존재하지는 않았으나 string 타입으로 처리하는 것이 빠른 속도를 내는 것으로 보였다
- but
- string 타입은 web 상으로 값이 구분이 안되기 때문에 잘 데이터 확인이 필요한 수준을 판단해야 한다
- object 를 string 타입으로 잘 변환할 수 있는 java code 를 구현해야 한다
'Nosql > couchbase' 카테고리의 다른 글
couchbase 설치 (0) | 2016.08.01 |
---|---|
couchbase 소개 (0) | 2016.08.01 |