Diferencia entre revisiones de «EhCache»

De Dos Ideas.
Saltar a: navegación, buscar
Línea 1: Línea 1:
[[Category:Java]]
 
 
EhCache es uno de los frameworks más utilizados para el [[Cache De Objetos Java]].
 
EhCache es uno de los frameworks más utilizados para el [[Cache De Objetos Java]].
  
Línea 51: Línea 50:
  
 
== Ver también ==
 
== Ver también ==
 +
* [[EhCache Con Spring]]
 
* [http://ehcache.sourceforge.net/ Web oficial de EhCache]
 
* [http://ehcache.sourceforge.net/ Web oficial de EhCache]
 +
 +
[[Category:Java]]
 +
[[Category:Performance]]

Revisión del 12:13 7 sep 2009

EhCache es uno de los frameworks más utilizados para el Cache De Objetos Java.

En general, EhCache consta de "regiones de cache" en donde se ubican objetos. Estas regiones se configuran en un archivo XML para determinar el tiempo de expiración, cantidad máxima de elementos, etc.

Ejemplo

Crearemos una región de cache llamada "dosIdeas". Luego, veremos cómo subir un objeto a dicha región, y cómo recuperarlo.

Archivo de configuración ehcache.xml

El archivo ehcache.xml tiene que residir en la raiz del classpath. A dicho archivo el agregaremos un región llamada "dosIdeas". Esta región mantendrá los elementos durante 1 segundo, y luego serán borrados de la región (atributo timeToLiveSeconds).

   <cache name="dosIdeas"
          maxElementsInMemory="10000"
          maxElementsOnDisk="1000"
          eternal="false"
          overflowToDisk="true"
          timeToIdleSeconds="300"
          timeToLiveSeconds="1"
          memoryStoreEvictionPolicy="LFU"
           />

Accediendo al caché

Subiremos un elemento al cache, y luego lo recuperaremos. Por último, esperaremos unos segundos y veremos cómo al volver a recuperar el objeto, el mismo no está más. Este método se ejecuta dentro de un test de JUnit

   @Test
   public void testCache() throws InterruptedException {
       Persona persona = new Persona();
       persona.setId("1");
       persona.setNombre("Zim");
       CacheManager manager = new CacheManager();
       Cache cache = manager.getCache("dosIdeas");
       //al cache se suben objetos Element. Un element consta de una clave y un valor.
       //La clave sera el medio para recuperar el objeto mas tarde. En el ejemplo, el "id" de la Persona.
       Element element = new Element(persona.getId(), persona);
       cache.put(element);
       Persona personaCache = (Persona) cache.get(persona.getId()).getObjectValue();
       assertEquals(persona, personaCache);
       //esperamos unos instantes para que expire el cache...
       Thread.sleep(1500);
       assertNull(cache.get(persona.getId()));
   }

Ver también