2013-03-04 5 views
5

내 응용 프로그램에서 사용할 영구 키 - 값 저장소를 찾고 있습니다. 구체적으로 :임베디드 Java 키 - 값 저장

  1. Java 응용 프로그램에 포함 가능해야합니다. 순수 자바 솔루션이 최고 일 것입니다.
  2. 데이터는 디스크에 유지되어야하며 메모리 내 저장은 옵션이 아닙니다. 메모리 풋 프린트 크기가 중요하며 키 - 값 맵의 전체 크기가 상당히 클 수 있습니다. 이상적으로 스토리지에 구현 된 일종의 LRU 캐시를 갖고 싶습니다.
  3. 두 키 모두 & 값은 문자열입니다 (Java 객체 직렬화 등을 지원할 필요가 없음).
  4. 동시 읽기/쓰기가 중요합니다.

그런 경우 가장 좋은 옵션은 무엇입니까?

+0

[키 값 저장소 제안] 가능한 복제본 (http://stackoverflow.com/questions/6639080/key-value-store-suggestion) –

+0

도움이된다면 TayzGrid를 [java 키 값 저장소] (http://blogs.tayzgrid.com/using-an-in-memory-key-value-store-to-scale-java-apps/)를 방문하여 주기적으로 캐시 데이터를 덤프하십시오 –

답변

2

SQLite (SQLite)를 사용합니다. 그것은 파일 저장소와 같은 관계형 데이터베이스로서, 키 - 값 및 필요한 다른 것을 저장할 수있게 해줍니다. 그것은 매우 적은 설치 공간과 매우 빠릅니다.

이 모든 이유 때문에 안드로이드 응용 프로그램에서 매우 일반적으로 사용됩니다.

3

가장 좋은지 모르지만 Hazelcast에 이러한 옵션이 있습니다. 디스크에 백업 된 데이터를 메모리에 저장할 수 있습니다. 헤이즐넛 방송에는 example이 있습니다.

3

대용량 데이터를 지원해야하는 경우 일반 HashMap을 대체해야 할 때 Voldemort을 사용했습니다. 성능이 정말 좋았습니다.

값에서 다음 oppurtunity = store.get (키)

store.put (키 값)

store.delete (키)

는 키 -를 시도 가치 상점, 나는 모든 시도를 시도합니다 Redis

5

OrientDB (SO info page) 법안에 맞는 것 같습니다.

설명서가 약간 부족한 경우가 있지만 목록에있는 기준을 충족한다고 생각합니다.