Berkeley DB がおそらく最良の選択ですが、ライセンスの問題で使用できません。
代替手段はありますか?
Hazelcastを試すことができます。クラスパスに hazelcast.jar を追加するだけです。そしてコーディング開始
java.util.Map map = Hazelcast.getMap("myMap");
超高速で動作する、動的にスケーラブルな動的にスケーラブルなインメモリ データ グリッドが得られます。
Chronicle-Mapは強力な代替手段です。
java.util.Map
実装jredisの使用を検討してください。これは、永続的なキー値ストアである Redis 用の Java クライアントです。そのための JDBC ドライバーもあります: code.google.com/p/jdbc-redis/。
これが 2 年前の投稿であることはわかっていますが、最近Infinispanをいじっていて、今のところ気に入っています。私は決して専門家ではありませんが、いくつかのノードで分散キャッシュをセットアップするのはそれほど難しくなく、それらから約 1 時間でデータを取得していました。
jdbmは、この種の作業に最適です。これは、ディスク上のページ ファイルに格納することを目的としており、基本的なトランザクション サポートを提供します (分離の保証はありませんが、ACD は対象となります)。私たちは、かなり広範囲に展開された本番システムで使用しており、パフォーマンス、安定性などに非常に満足しています...
HSQLDB、Derby、SQLite などの軽量または組み込みのデータベースがあります。
なぜ地図ではないのですか?アプリの再起動時にキー/値を保持する必要がありますか?
また、必要なものではないかもしれませんが、最新のブラウザーの html5 では、javascript を使用してブラウザーにキー/値を保存できる localStorage があります。