16

Berkeley DB がおそらく最良の選択ですが、ライセンスの問題で使用できません。

代替手段はありますか?

4

10 に答える 10

8

Hazelcastを試すことができます。クラスパスに hazelcast.jar を追加するだけです。そしてコーディング開始

java.util.Map map = Hazelcast.getMap("myMap");

超高速で動作する、動的にスケーラブルな動的にスケーラブルなインメモリ データ グリッドが得られます。

于 2010-08-13T11:08:17.690 に答える
3

あなたの質問は、次の 2 つのいずれかを意味する可能性があります。

キーと値のペアを格納するためのデータ構造を意味する場合Mapは、JDK の標準部分であるインスタンスの 1 つを使用してください。

ただし、メモリ内のキー値ストアを使用している場合は、EHCacheまたはmemcachedを確認することをお勧めします。

于 2010-04-04T14:23:56.483 に答える
2

ハッシュマップ?

于 2010-04-04T14:24:07.823 に答える
2

Chronicle-Mapは強力な代替手段です。

  • Pure Java、単純なjava.util.Map実装
  • データをオフヒープに保存し、オプションでメモリマップ ファイルを介してディスクに永続化します
  • オープンソース、寛容な Apache 2.0 ライセンス
  • 信じられないほど高速で、毎秒数百万の更新/クエリを管理できます (正確な数値を参照してください)
于 2014-12-06T08:38:49.723 に答える
1

jredisの使用を検討してください。これは、永続的なキー値ストアである Redis 用の Java クライアントです。そのための JDBC ドライバーもあります: code.google.com/p/jdbc-redis/。

于 2010-04-06T23:21:31.613 に答える
1

これが 2 年前の投稿であることはわかっていますが、最近Infinispanをいじっていて、今のところ気に入っています。私は決して専門家ではありませんが、いくつかのノードで分散キャッシュをセットアップするのはそれほど難しくなく、それらから約 1 時間でデータを取得していました。

于 2012-05-02T04:17:12.663 に答える
1

jdbmは、この種の作業に最適です。これは、ディスク上のページ ファイルに格納することを目的としており、基本的なトランザクション サポートを提供します (分離の保証はありませんが、ACD は対象となります)。私たちは、かなり広範囲に展開された本番システムで使用しており、パフォーマンス、安定性などに非常に満足しています...

于 2010-04-05T05:13:08.883 に答える
0

Redissonを試すことをお勧めします。高性能のキー値Redisサーバー上で、分散型でスケーラブルなMap、またはその他 (セット、リスト、キュー、ロックなど) の実装を使用できます。ConcurrentMap

簡単な例:

Redisson redisson = Redisson.create();

ConcurrentMap<String, SomeObject> map = redisson.getMap("anyMap");

...

redisson.shutdown();
于 2014-01-12T10:44:13.877 に答える
0

HSQLDB、Derby、SQLite などの軽量または組み込みのデータベースがあります。

なぜ地図ではないのですか?アプリの再起動時にキー/値を保持する必要がありますか?

また、必要なものではないかもしれませんが、最新のブラウザーの html5 では、javascript を使用してブラウザーにキー/値を保存できる localStorage があります。

于 2010-04-04T15:07:26.777 に答える