Gestire la cache in Java con JCache
JCache è una "libreria" (in realtà non saprei come definirla) che ci permette di gestire la cache nelle nostre applicazioni in Java.
Ha tutta una serie di interfacce per la gestione della cache, ma bisogna indicare, e quindi installare, una sua implementazione.
Per il nostro esempio, se avete maven, aggiungete queste dipendenze:
<dependencies>
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.9.6</version>
</dependency>
</dependencies>
Fatto questo, qui sotto un esempio:
import javax.cache.Cache;
import javax.cache.CacheManager;
import javax.cache.Caching;
import javax.cache.configuration.MutableConfiguration;
import javax.cache.expiry.CreatedExpiryPolicy;
import javax.cache.expiry.Duration;
public class Main {
public static void main(String[] args) {
String cacheName = "myCache";
CacheManager cacheManager = Caching.getCachingProvider().getCacheManager();
MutableConfiguration<String, String> cacheConfig = new MutableConfiguration<>();
cacheConfig.setStoreByValue(false);
cacheConfig.setTypes(String.class, String.class);
cacheConfig.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.ONE_MINUTE));
cacheConfig.setManagementEnabled(true);
cacheConfig.setStatisticsEnabled(true);
// CREO LA CACHE CON LA CONFIGURAZIONE SETTATA SOPRA
Cache<String, String> cache = cacheManager.createCache(cacheName, cacheConfig);
cache.put("key1", "value1");
cache.put("key2", "value2");
// VISUALIZZO UN VALORE
System.out.println(cache.get("key1"));
// MODIFICO UN VALORE E LO VISUALIZZO DI NUOVO
cache.put("key1", "valueUp");
System.out.println(cache.get("key1"));
// LOOP SU TUTTA LA CACHE
Cache<String, String> getAllCache = cacheManager.getCache(cacheName);
for (Cache.Entry<String, String> currentEntry : getAllCache) {
System.out.println("Key: " + currentEntry.getKey() + " Value: " + currentEntry.getValue());
}
cacheManager.close();
}
}
Vi ho messo qualche commento.
Enjoy!
java maven jcache cache
Commentami!