В настоящее время я использую версию Hazelcast 3.9
Я пробовал несколько способов реализовать ближний кеш, и, похоже, я не могу найти правильный путь. Ниже я поделился своим кодом и дал мне знать, где именно я ошибаюсь.
public class NearCacheExample {
public static void main(String[] args) throws IOException
{
HazelcastConfig hzConfig = new HazelcastConfig();
HazelcastInstance hzInstance = hzConfig.getHZInstance();
IMap<Double, String> nearCacheMap = hzInstance.getMap("cacheExample");
for (int i = 0; i < 100000; i++) {
nearCacheMap.set(Math.random(), i + "");
}
long startTime = System.currentTimeMillis();
System.out.println("---------------------------Before Sort----------------------------------");
for (Entry<Double, String> entrySet : nearCacheMap.entrySet()) {
Double key = entrySet.getKey();
String value = entrySet.getValue();
}
long endTime = System.currentTimeMillis();
System.out.println("------------------------------------------------Read Both---------------------------------------------------");
NearCacheStats nearCacheStatistics = nearCacheMap.getLocalMapStats().getNearCacheStats();
System.out.println( "Near Cache hit/miss ratio 3= "
+ nearCacheStatistics.getHits());
System.out.println("Near cache implemented or not " + nearCacheMap.getLocalMapStats().getNearCacheStats().getOwnedEntryCount());
System.out.println(" EndTime timeDifference : " + startTime + " " + endTime + " " +(endTime-startTime));
}
}
Вывод, который я получаю при проверке статистики NearCache, равен 0.
HazelcastConfig.java file
public class HazelcastConfig
{
public HazelcastInstance getHZInstance() throws IOException
{
ClientConfig cfg = new XmlClientConfigBuilder("src/main/resources/hazelcast-client.xml").build();
return HazelcastClient.newHazelcastClient(cfg);
}
}
Конфигурация на клиенте Hazelcast
<near-cache name="default">
<in-memory-format>BINARY</in-memory-format>
<invalidate-on-change>true</invalidate-on-change>
<eviction eviction-policy="NONE" max-size-policy="ENTRY_COUNT" size="10"/>
Я также попытался изменить имя кэша в файле hazelcast-client.xml. Кажется, ничего не работает
На стороне сервера Hazelcast изменений нет.