<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.9.0</version>
</dependency>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.ehcache.org/v3"
xmlns:jsr107="http://www.ehcache.org/v3/jsr107"
xsi:schemaLocation="
http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.9.xsd
http://www.ehcache.org/v3/jsr107 http://www.ehcache.org/schema/ehcache-107-ext-3.9.xsd">
<cache alias="myCache">
<key-type>java.lang.String</key-type>
<value-type>java.lang.Object</value-type>
<resources>
<heap unit="entries">100</heap>
</resources>
</cache>
</config>
import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.units.EntryUnit;
import org.ehcache.config.units.MemoryUnit;
public class MyCacheExample {
public static void main(String[] args) {
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build();
cacheManager.init();
Cache<String, Object> cache = cacheManager.createCache("myCache",
CacheConfigurationBuilder.newCacheConfigurationBuilder(
String.class, Object.class,
ResourcePoolsBuilder.heap(100).disk(10, MemoryUnit.MB))
.withSizeOfMaxObjectGraph(1000)
.withSizeOfMaxObjectSize(100, MemoryUnit.KB)
.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofMinutes(30))
.build());
cache.put("key1", "value1");
Object value = cache.get("key1");
System.out.println(value);
cacheManager.close();
}
}