最大value
- 单个k-v的操作本身不受数据字节大小限制
- 操作受最大堆内存-Xmx限制
操作受超时时间限制hazelcast.max.operation.timeout
1
2INFO HazelcastTest - size:273437KB
INFO HazelcastTest - elapsed:62ms
数量、过期等限制
- 针对每个map均可限制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17//限制instruments特定map
MapConfig mCfg = new MapConfig("instruments");
//超时时间
mCfg.setTimeToLiveSeconds(60);
//节点备份数
mCfg.setBackupCount(1);
//删除策略
mCfg.setEvictionPolicy(EvictionPolicy.LRU);
//存储模式
mCfg.setInMemoryFormat(InMemoryFormat.BINARY);
MaxSizeConfig maxSizeConfig = new MaxSizeConfig();
//最大数量
maxSizeConfig.setSize(1000);
//针对节点限制
maxSizeConfig.setMaxSizePolicy(MaxSizeConfig.MaxSizePolicy.PER_NODE);
mCfg.setMaxSizeConfig(maxSizeConfig);
Map过期时间
1 | //ttl |
time-to-live-seconds:存活时间,期间没有写请求,则到期删除;默认0,无过期
max-idle-seconds:最大空闲时间,期间没有读和写请求,则到期删除
删除策略
当map大小超过max-size时,启用eviction-policy。
- NONE,忽略max-size
- LRU,最近最久未使用
- LFU,最近最少使用
集群性能
- -Xms128M -Xmx256M
- 2个节点
- k:递增,value:1k
- client并发50
- 双节点puts平均为290/s,延迟为0.5ms
自动扩充
- 基于广播
- 基于TCP-IP
- 基于Eureka
- 基于Zk
检索
1 | Cache cache1 = new Cache(); |