notas - hola mundo ejemplo para ehcache?
hola mundo programacion (2)
EhCache viene con una configuración a prueba de fallas que tiene un tiempo razonable de vencimiento (120 segundos). Esto es suficiente para ponerlo en funcionamiento.
Importaciones:
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
Entonces, crear un caché es bastante simple:
CacheManager.getInstance().addCache("test");
Esto crea un caché llamado test
. Puede tener muchos cachés diferentes y separados, todos gestionados por el mismo CacheManager
. Agregar pares (key, value)
a este caché es tan simple como:
CacheManager.getInstance().getCache("test").put(new Element(key, value));
Recuperar un valor para una clave dada es tan simple como:
Element elt = CacheManager.getInstance().getCache("test").get(key);
return (elt == null ? null : elt.getObjectValue());
Si intenta acceder a un elemento después del período de caducidad predeterminado de 120 segundos, la caché devolverá nulo (de ahí la comprobación para ver si elt
es nulo). Puede ajustar el período de vencimiento mediante la creación de su propio archivo ehcache.xml
; la documentación correspondiente es aceptable en el sitio de ehcache.
ehcache es una bestia enormemente configurable, y los ejemplos son bastante complejos, a menudo involucran muchas capas de interfaces.
¿Alguien ha encontrado el ejemplo más simple que simplemente almacena en caché algo así como un solo número en la memoria (no distribuido, sin XML, tan pocas líneas de Java como sea posible). El número se almacena en la memoria caché durante, por ejemplo, 60 segundos, luego la siguiente solicitud de lectura hace que obtenga un nuevo valor (por ejemplo, llamando a Random.nextInt () o similar)
¿Es más rápido / más fácil escribir nuestro propio caché para algo como esto con un singleton y un poco de sincronización?
Sin primavera por favor.
Una implementación de trabajo de la respuesta de jbrookover:
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
import net.sf.ehcache.Cache;
public class EHCacheDemo {
public static final void main(String[] igno_red) {
CacheManager cchm = CacheManager.getInstance();
//Create a cache
cchm.addCache("test");
//Add key-value pairs
Cache cch = cchm.getCache("test");
cch.put(new Element("tarzan", "Jane"));
cch.put(new Element("kermit", "Piggy"));
//Retrieve a value for a given key
Element elt = cch.get("tarzan");
String sPartner = (elt == null ? null : elt.getObjectValue().toString());
System.out.println(sPartner); //Outputs "Jane"
//Required or the application will hang
cchm.removeAllCaches(); //alternatively: cchm.shutdown();
}
}