CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build();
cacheManager.init();
Cache<String, String> cache = cacheManager.createCache("myCache",
CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, String.class,
ResourcePoolsBuilder.heap(100)));
cache.put("key", "value");
String value = cache.get("key");
cacheManager.close();
<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.10.xsd
http://www.ehcache.org/v3/jsr107 http://www.ehcache.org/schema/ehcache-107-ext-3.10.xsd">
<cache-template name="myCacheTemplate">
<listeners>
<listener>
<class>com.example.MyCacheListener</class>
<event-firing-mode>ASYNCHRONOUS</event-firing-mode>
<event-ordering-mode>UNORDERED</event-ordering-mode>
<events-to-fire-on>CREATED, EXPIRED</events-to-fire-on>
</listener>
</listeners>
</cache-template>
<cache alias="myCache"
uses-template="myCacheTemplate"
template-providers="heapCacheProvider, offHeapCacheProvider, diskCacheProvider">
<key-type>java.lang.String</key-type>
<value-type>java.lang.String</value-type>
<resources>
<heap unit="entries">100</heap>
<offheap unit="MB">10</offheap>
<disk persistent="true" unit="MB">100</disk>
</resources>
</cache>
</config>