問題タブ [hazelcast-imap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Hazelcast でマップを定義する方法
Java プロジェクトで使用されるデータベースの値を Hazelcast でキャッシュする必要があります。ロジックは、キャッシュが空かどうかを確認し、dao メソッドを呼び出してデータを格納することです。それ以外の場合は、キャッシュからオブジェクトを返します。
私は Hazelcast をまったく初めて使用し、xml ファイルでマップを構成することについて混乱を感じています。TTL やその他の有用な属性を定義できる場合、または hazelcast 要素の外で定義できる場合は、hazelcast 要素にマップを含めることができます。それへの参照を使用して、属性を使用できない場合。
同じ XML 要素に対してこの構文上の違いが生じる理由がわかりません。私が取り組んでいるプロジェクトは、別のプロジェクトで作成された hazelcast インスタンス Bean を使用します。その外でマップを定義すると、何も構成できません。
configuration-files - Hazelcast IMap の TTL 優先度
Hazelcast のドキュメントによると、IMap の TTL は xml マップ要素で定義するか、要素をマップに挿入するときに、TTL を数値引数として渡し、その後に適切な TimeUnit を続けることができます。
xml でマップの TTL = 1 日があり、そこに挿入された要素の TTL = 1 時間であると仮定すると、どの TTL が実際に使用されるでしょうか?
java - SqlPredicate を使用して集計するときの Hazelcast エラー
SqlPredicate 述語を使用して、Hazelcast のマップで検索と集計を実行しようとしています。以下のように検索すると、SqlPredicate は完全に機能します。
しかし、次の集計を行おうとすると、ClassCastException が発生します。
また、SqlPredicate のラッパーである独自のカスタム述語を作成してみました。
これにより NullPointerException が発生し、apply() メソッドに到達しません。
これは Hazelcast のバグですか? または、SqlPredicate を使用して Supplier を作成できない理由はありますか? SqlPredicate は Predicate インターフェースを実装しているので、うまくいくと思います。
現在、検索時にSqlPredicateを使用しているので、集計時に同じ述語を使用してフィルタリングできるようにしたいと考えています。
scala - Hazelcast の低パフォーマンスで 10,000 アイテムを 6 秒間置く
単純なケースでヘーゼルキャストのパフォーマンスをテストしている例があります。
4 コアのマシンがあり、それぞれ 1.2 GHz です。
100 の「クライアント」ごとに 100 の束を送信しています (実際には 1 つのスレッドで lopp を送信するだけです)。
最終的に、私は10,000束のチケットを持っています。
パフォーマンスは次のとおりです。
- 使ったら6秒
putAsync
- と10 秒、私が使用する場合:
set
私はこれを低パフォーマンスと考えています。
質問: そうですか?どうすれば改善できますか?
すべてのコードが存在します - configs . スカラ、sbt プロジェクト
アップデート:
実行時間=テスト時間:
- 10 000 - 新しいマシンでは 1 ~ 2 秒かかります。古いマシンの場合: 10 秒
- 40 000 - 古いマシンでは 18 秒、新しいマシンでは 4 秒
- 古いマシンの場合は250 000~ 100 秒、新しいマシンの場合は 20 ~ 24 秒。
したがって、「どのくらいの時間」=テスト時間です。
ここで: 新しいマシン: 8 コア 2.2 Ghz 古いマシン: 4 コア、1.2 Hz
機種によってかなりの性能差。
java - Hazelcast、内部で hazelcast を再利用してカスタマイズされた MapService を実装するにはどうすればよいですか?
MapStore、writThrough、readThroughなどがありますが、組み込みのマップはメモリのみですが、これらは要件を満たすことができません。MapService をゼロから作成できることはわかっていますが、それは大変な作業です。Hazelcast の内部 MapService は柔軟です。
hazelcast の内部実装を再利用して、カスタマイズされたマップ サービスを実装するためのガイドはありますか? または、これを行う方法を指摘するだけです。
PS:hz 3.5.1を使用しています
hazelcast - Hazelcast マップ スレッドでの更新操作は安全ですか?
プロジェクトの 1 つで Hazelcast 分散マップを使用しています。複数のノードからキーを更新するときに Hazelcast ロックを明示的に使用する必要がありますか、それとも Hazelcast のドキュメントでは IMap はスレッドセーフであると述べているため、Hazelcast によって暗黙的に処理されますか?
hazelcast - ttl を Imap に設定する
の時点でセットのないIMap
ヘーゼルキャストを持っています。イベントがトリガーされた後、この特定のキーに設定したいと思います。というのは、このイベントの時点で私は電話をかけたくないからです。では、どのように ttl をその特定のキーに設定できますか?(key, value)
ttl
imap.put()
ttl
IMap
value = imap.get(key)
imap.put(key, value, 10, TimeUnit.SECONDS)