Giriş
Ehcache JSR-107 ile uyumlu. CacheManagerBuilder en önemli sınıf. Çünkü tüm ayarları bu sınıfta belirtiyoruz.
Maven
Şu satırı dahil ederiz
<dependency><groupId>org.ehcache</groupId><artifactId>ehcache</artifactId><version>3.8.1</version></dependency>
CacheManagerBuilder Sınıfı
Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Giriş
Şu satırı dahil ederiz.
import org.ehcache.config.builders.CacheManagerBuilder;
build metoduŞöyle yaparız.
System.getProperties().
setProperty("java -Dnet.sf.ehcache.use.classic.lru", "true");
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build();
withCache metodu
Örnek - diskte
Şöyle yaparız
Cache buildPersistenceStorageCache(String cacheName, Class<?> keyType,
Class<?> valueType){CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().with(CacheManagerBuilder.persistence("C:\\Cacahe\\persistence")).withCache(cacheName, CacheConfigurationBuilder.newCacheConfigurationBuilder(keyType, valueType,ResourcePoolsBuilder.heap(100).disk(10, MemoryUnit.MB))).build();cacheManager.init();return cacheManager.getCache(cacheName, keyType, valueType);}
Örnek - bellekte
Şöyle yaparız
Cache buildInMemoryCache(String cacheName, Class<?> keyType, Class<?> valueType){CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().withCache(cacheName,CacheConfigurationBuilder.newCacheConfigurationBuilder(keyType,valueType,ResourcePoolsBuilder.heap(100))).build();cacheManager.init();return cacheManager.getCache(cacheName, keyType, valueType);}
withExpiry metodu
Şöyle yaparız
Cache buildExpiryEnabledInMemoryCache(String cacheName, Class<?> keyType,
Class<?> valueType, int expiryPeriod){CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().withCache(cacheName,CacheConfigurationBuilder.newCacheConfigurationBuilder(keyType,valueType,ResourcePoolsBuilder.heap(100)).withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(
Duration.ofSeconds(expiryPeriod)))).build();cacheManager.init();return cacheManager.getCache(cacheName, keyType, valueType);}
CacheManager Sınıfı
GirişŞu satırı dahil ederiz.
import org.ehcache.CacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.ehcache.expiry.Expirations;
init metoduŞöyle yaparız.
cacheManager.init();
createCache metoduŞöyle yaparız.newCacheConfigurationBuilder() metodunda Key tipimizin String olduğunu Value tipimizinde PersonList olduğunu belirtiriz.
Cache<String, PersonList> cacheDataList =
cacheManager
.createCache("cacheOfPersonList",
CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class,
PersonList.class,
ResourcePoolsBuilder.heap(10))
.withExpiry(Expirations.timeToLiveExpiration(org.ehcache.expiry.Duration.of(20,
TimeUnit.SECONDS))));
Cache Sınıfı
Şu satırı dahil ederiz.
import org.ehcache.Cache;
get metoduŞöyle yaparız.
String CACHE_PERSON = "cache_key_person";
PersonList personList = cacheDataList.get(CACHE_PERSON);
put metoduŞöyle yaparız.
String CACHE_PERSON = "cache_key_person";
List<Person> personList = ...;
cacheDataList.put(CACHE_PERSON, new PersonList(personList));
Hiç yorum yok:
Yorum Gönder