2013-03-04 41 views
5

Sto cercando una memoria a valore chiave persistente da utilizzare nella mia applicazione. In particolare:Memoria a valore chiave Java integrata

  1. Deve essere incorporabile nell'applicazione Java. La soluzione Java pura sarebbe la migliore.
  2. I dati devono essere persistenti sul disco, la memoria solo in memoria non è un'opzione. La dimensione dell'impronta della memoria è importante e la dimensione complessiva della mappa valore-chiave può essere piuttosto ampia. Idealmente mi piacerebbe avere una sorta di cache LRU implementata sulla memoria.
  3. Entrambi i tasti valori & sono stringhe (non è necessario supportare la serializzazione di oggetti Java, ecc.).
  4. Le letture/scritture contemporanee sono importanti.

Quale sarebbe l'opzione migliore in tal caso?

+0

possibile duplicato di [suggerimento negozio chiave-valore] (http://stackoverflow.com/questions/6639080/key-value-store-suggestion) –

+0

C'è un altro modo se aiuta, utilizzare TayzGrid come una [chiave java value store] (http://blogs.tayzgrid.com/using-an-in-memory-key-value-store-to-scale-java-apps/) e scaricare periodicamente i dati della cache –

risposta

2

Vorrei usare SQLite (SQLite). Si tratta di un database relazionale come la memorizzazione di file, che ti consentirà di memorizzare valori-chiave e qualsiasi altra cosa di cui potresti aver bisogno. Ha un ingombro molto ridotto ed è piuttosto veloce.

È molto comunemente utilizzato su applicazioni Android per tutti questi motivi.

3

Non so che sia la cosa migliore o meno ma Hazelcast ha queste opzioni. È possibile memorizzare i dati in memoria con un backup su disco. C'è un example su nocciola.

3

Ho usato Voldemort quando abbiamo dovuto sostituire la normale HashMap quando si dovevano supportare grandi dati. Le prestazioni sono state davvero grandiose.

value = store.get (chiave)

store.put (chiave, valore)

store.delete (chiave)

Nel prossimo oppurtunity per provare un chiave- valore negozio, con tutta probabilità provo Redis

5

OrientDB (SO info page) sembra adattarsi al conto.

La documentazione è a volte un po 'carente, ma credo che soddisfi i criteri che stai elencando.