2013-03-04 39 views
5

私のアプリケーションで使用する永続的なキー値ストレージを探しています。具体的には、埋め込みJavaのキー値ストレージ

  1. Javaアプリケーションに埋め込む必要があります。純粋なJavaソリューションが最高です。
  2. データはディスク上に永続化する必要があります。インメモリ専用ストレージはオプションではありません。メモリフットプリントのサイズは重要であり、キー値マップの全体的なサイズは非常に大きくなる可能性があります。理想的には、何らかのLRUキャッシュをストレージに実装したいと思っています。
  3. 両方のキー&の値は文字列です(Javaオブジェクトの直列化などをサポートする必要はありません)。
  4. 並行読み取り/書き込みが重要です。

この場合、どのような場合に最適なオプションはありますか?

+0

[key-value store suggestion]の複製が可能です(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)を使用します。これは、ファイルストレージのようなリレーショナルデータベースであり、必要なキー値やその他のものを保存することができます。フットプリントが非常に小さく、非常に高速です。

これは、これらの理由から、Androidアプリケーションでよく使用されています。

3

私はそれが最良かどうかわからないが、Hazelcastにはこれらのオプションがあります。ディスク上のバックアップを使用して、データをメモリに保存することができます。ヘイルキャストにはexampleがあります。

3

大きなデータをサポートしなければならないときに通常のHashMapを置き換える必要があるときは、Voldemortを使用しました。パフォーマンスは本当に素晴らしかったです。

値= store.get(キー)

store.put(キー、値)次oppurtunityで

store.delete(キー)

KEY-をしようとします私はすべての可能性を試してみるRedis

5

OrientDBSO info page)は法案に合うようです。

ドキュメンテーションは時には少し欠けていますが、私はそれがあなたがリストしている基準を満たすと信じています。

関連する問題