2010-12-03 3 views
-2

우리 프로젝트에는 이미 객체를위한 내장형 키 - 값 저장소가 내장되어 있으며 색인을 만들고 저장소를 기반으로 저장소를 쿼리 할 수 ​​있으므로 매우 유용합니다. 그래서 student.group과 student.sex에 "Student"모음과 복합 색인이 있으면 그룹 "ABC"의 모든 남성 학생을 찾을 수 있습니다. 삭제와 동일합니다.색인을 허용하는 원격 키 - 값 저장소?

이제 클라우드에서 작업 할 때 서비스를 채택해야하므로 사용자 요청을 처리하는 여러 서버가 있고이 키 - 값 인덱스 저장소에 저장된 공유 상태가됩니다. 우리는 우리의 필요에 따라 memcashed를 채택하려고 시도했으며, 거의 이상적입니다. 빠르고 간단하며 검증 된 솔루션이지만 인덱스가 없으므로 임시 데이터를 검색하는 데 사용할 수 없습니다.

memcashed와 마찬가지로 원격 캐시를 가질 수있는 다른 방법이 있습니까? 인덱스가 있습니까?

감사합니다.

답변

4

시도해보십시오. hazelcast 시도, 서버간에 데이터를 배포하는 메모리 내 데이터 그리드입니다. 질문에 설명 된 것처럼 인덱스를 가질 수 있고 질문을 쿼리 할 수 ​​있습니다.

사용법이 매우 간단합니다. Hazelcast.jar을 추가하고 코딩을 시작하기 만하면됩니다. 임베디드 및 원격 모두 가능합니다. 여기

는 인덱스 및 쿼리의 사용이다 IMDG에서

추가 지수

IMap<Integer, Student> myDistributedMap = Hazelcast.getMap("students") 
myDistributedMap.addIndex("group", false); 
myDistributedMap.addIndex("sex", false); 

저장

myDistributedMap.put(student.id, student) 

;

쿼리

Collection<Student> result = myDistributedMap.values(new SqlPredicate("sex=male AND group=ABC")); 

마지막으로는 클라우드에서 잘 작동합니다. 예 : EC2

+0

멋지 네요.하지만 자바 바인딩인가요? jre 기반이 아닌 무언가에서 hazelcast를 사용할 수 있습니까? –

+0

현재 Hazelcast는 Java 클라이언트, Memcache 프로토콜 및 REST 인터페이스를 지원합니다. REST 인터페이스를 통해 Hazelcast에 접속할 수 있습니다. 그러나 아직 REST를위한 충분한 문서가 없다. –

관련 문제