4

を使用してhazelcast-spring-3.1.xsdいます。私のhazelcastマップ構成を以下に示します。

<hz:map name="defaultMap"
                    backup-count="1"
                    max-size="5000"
                    max-size-policy = "PER_NODE"
                    eviction-percentage="50"
                    read-backup-data="true"    
                    eviction-policy="LRU"
                    merge-policy=
                        "com.hazelcast.map.merge.LatestUpdateMapMergePolicy"
                    time-to-live-seconds="0"
                >

私は与えmax-size = 5000ました。私は12000個のレコードを持っており、挿入するとdefaultMapは12000個のレコードをロードしています。ここで混乱しています。実際のサイズ5000よりも多くのデータをロードする方法です。12000 個のデータ レコードを挿入しても例外はありません。

もう 1 つ、エビクション構成も機能していません。キャッシュが最大サイズ制限に達した場合、キャッシュを 50% 削除したいと考えています。

どんな体でも私を助けることができますか?非常に緊急です。何が欠けていますか?

4

3 に答える 3

6

Hazelcast クラスター全体 (またはマップ全体) ではなく、各 Hazelcast インスタンスmax-size-policy = "PER_NODE"のマップ エントリの最大数を意味する設定があります。

Hazelcast 2.x リリースでは、max-size eviction ポリシーのデフォルト値は でしたcluster_wide_map_size。3.x リリースでは、 に置き換えられていPER_NODEます。

他の設定もあります。詳細なマップ エビクションの設定と例については、こちらをご覧ください。

于 2015-08-12T21:11:37.657 に答える