aprender Ehcache

A. Breve

1. implementado en Java con un simple, de alta velocidad, las bibliotecas compatibles con el proceso de gestión de caché;

2. evolucionaron de Hibernate, cubriendo todas sus funciones;

3. Uno de los más rápidos caché de Java puede ser utilizado para grandes sistemas concurrentes altas, API es fácil de usar;

4. Soporte amortiguadores LRU, LFU y FIFO y otras estrategias;

5. Hay dos niveles de caché de datos: Memoria y disco sin tener que preocuparse por problemas de capacidad;

6. Los datos en caché se escribe en disco en el proceso de reiniciar la máquina virtual;

7 a través de RMI, etc. pueden ser insertados en las cachés API distribuidos;

8. Con el socket de escucha: Administrador de caché oyentes CacheManagerEventListener y detectores de eventos caché CacheEventListener;

II. El uso Introducción

1. Una aplicación puede tener más CacheManager, puede haber una pluralidad de CacheManager Cache, una guardar un número de elemento de la caché interna, elemento A es un pares clave / valor almacenado;

2. La estructura principal

Caché de replicación: responsable de la sincronización de caché de varias implementaciones, incluyendo terracota, RMI, JMS y jgroup cuatro clases;

En-Proceso APIS: Foreign API comúnmente utilizados, incluyendo JRuby, Hibernate, JMX, SOAP API, servidor de caché cinco clases;

Red APIS: un protocolo de comunicación, hay API REST, SOAP API API JMX, y similares;

Ehcache Core: CacheManager comprende administrador de caché, caché, elemento, componente SOR puede tomar los datos reales;

3. política de almacenamiento en caché

FIFO: El tiempo de escritura de datos, el FIFO;

LUF: los menos utilizados, el elemento de aciertos de caché tiene una propiedad, se borrará el valor mínimo de la exitosa;

LRU: menos recientemente utilizado, se borrará el elemento de memoria cache usual de la marca de tiempo corriente en el elemento más alejado;

4. Perfiles ehcache.xml

Nombre: Cache de identificación único;

maxElementsInMemory: El número máximo de objetos en caché en la memoria;

maxElementsOnDisk: El número máximo de objeto de caché de disco, 0 representa el infinito;

eterna: Elemento ya sea permanente, después de ajustar el fracaso de tiempo de espera;

overflowToDisk: escribir en el disco cuando la memoria alcanza el número máximo de elementos;

timeToIdleSeconds: Conjunto de elementos de tiempo de inactividad permitido antes de la falla;

timeToLiveSeconds: Conjunto de elementos de supervivencia de tiempo permitido antes de la falla;

diskPersistent: si los datos de caché persistido en el disco, por defecto falsa;

disExpiryThreadIntervalSeconds: disco falla intervalos de ejecución hilo, los 120s por defecto;

diskSpoolBufferSizeMB: Ajuste el tamaño de la caché de disco, el 30 MB por defecto;

memoryStoreEvicitionPolicy: cuando el elemento alcanzará el límite especificado por la política a la memoria la limpieza;

El código simple

CacheManager = CacheManager.creat la CacheManager (); // para crear una instancia de la configuración predeterminada por métodos crear 
el Elemento Element = nuevo nuevo el elemento (clave, valor); // necesidad de amortiguar los datos de 
la caché Cache = cacheManager.getCache (cacheName); // valor cacheName archivo de configuración de caché de nombres 
cache.put (Element); // datos en la memoria caché 
Element = cache.get (Key); // obtener los datos de la memoria caché 
de datos Object element.getObjectValue = (); // obtiene los datos de la memoria caché 
Cache.Remove ( "llave"); // con la tecla de borrado de caché 
cache.replace ( nueva nueva ( "clave" Elemento "valor2")); // reemplazar la llave original del valor

6. La combinación de la primavera

@Cacheable: la adición de este método anotada representa la memoria caché, la primera vez que el método se llama los resultados almacenados en caché, y luego volver directamente acceder el resultado almacenado en caché, no se lleva a cabo el método de código;

Atributo: valor debe especificar al menos un valor del nombre de archivo de configuración de la caché;

           preparado de acuerdo expresión clave SpEL, si la combinación de parámetros está vacía;

           condición puede ser vacía, preparadas de otra forma de acuerdo con la expresión SpEL, sólo la caché es cierto;

@CachePut: Esta anotación propiedades y métodos de apoyo consistente con @Cacheable, pero sólo almacenar en caché los resultados del uso de, o el verdadero método de ejecución;

Propiedad: valor, clave; condición;

@CacheEvict: Vaciar caché

Propiedad: valor, clave; condición;

           allEntries: si desea borrar todo el contenido de la memoria caché, el valor predeterminado es falso, si especifica cierto, la llamada al método borrará inmediatamente la caché;

           beforeInvocation: antes de la liberación método de ejecución se vacía, el valor predeterminado es falso;

@CacheConfig: a nivel de clase de anotación, principalmente compartida caché de nombres;

Supongo que te gusta

Origin www.cnblogs.com/bbbbs/p/12532678.html
Recomendado
Clasificación