<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>3.8.1</version>
</dependency>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ehcache.org/ehcache.xsd">
<cache name="myCache"
maxEntriesLocalHeap="10000"
eternal="false"
timeToLiveSeconds="300"
memoryStoreEvictionPolicy="LFU">
</cache>
</ehcache>
import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.ehcache.expiry.Duration;
import org.ehcache.expiry.Expirations;
public class MyCacheExample {
public static void main(String[] args) {
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build();
cacheManager.init();
CacheConfigurationBuilder<Long, String> configuration = CacheConfigurationBuilder.newCacheConfigurationBuilder(
Long.class, String.class, ResourcePoolsBuilder.heap(100))
.withExpiry(Expirations.timeToLiveExpiration(Duration.ofSeconds(300)));
Cache<Long, String> cache = cacheManager.createCache("myCache", configuration.build());
cache.put(1L, "Hello");
cache.put(2L, "World");
System.out.println(cache.get(1L));
System.out.println(cache.get(2L));
cacheManager.close();
}
}