1 comentario de configuración y EhCache
uso
1.1 archivo pom introdujo
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
1.2 Nuevo ehcache.xml
Archivo
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
updateCheck="false">
<diskStore path="java.io.tmpdir/Tmp_EhCache" />
<!-- 默认配置 -->
<defaultCache maxElementsInMemory="5000" eternal="false"
timeToIdleSeconds="120" timeToLiveSeconds="120"
memoryStoreEvictionPolicy="LRU" overflowToDisk="false" />
<cache name="baseCache" maxElementsInMemory="10000"
maxElementsOnDisk="100000" />
</ehcache>
La información de configuración Descripción:
name
: Nombre del cachémaxElementsInMemory
: El número máximo de cachéeternal
: Si el objeto es permanente, sino un conjunto, el tiempo de espera no funcionatimeToIdleSeconds
: Objeto conjunto permitido el tiempo de inactividad antes de la falla (unidad: segundos). Sólo cuando = eternas no utilizan objetos falsos permanentes, un valor por defecto del atributo opcional es 0, es decir, el tiempo de inactividad puede ser infinitotimeToLiveSeconds
: Conjunto de objetos permite que el tiempo de supervivencia antes de la falla (unidad: segundos). El tiempo máximo entre tiempo de falla y la hora de la creación. Sólo cuando objeto eterno = false no es un uso permanente, el valor predeterminado es 0,5, que es el tiempo objeto infinito supervivenciaoverflowToDisk
: Cuando el número de objetos en la memoria alcanza maxElementsInMemory, Ehcache se escribirá en objetos de discodiskSpoolBufferSizeMB
: Este parámetro establece el tamaño de la memoria intermedia DiskStore (caché de disco) de. El valor por defecto es de 30 MB. Cada caché debe tener un búfer propiomaxElementsOnDisk
: El número máximo de caché de disco durodiskPersistent
: Si desea reiniciar la máquina virtual en la memoria caché de datos si persiste la tienda de discos entre puestas en marcha de la máquina virtual El valor predeterminado es falso ..diskExpiryThreadIntervalSeconds
: Hilos de fallo del disco ejecutan intervalo de tiempo, el valor predeterminado es de 120 segundosmemoryStoreEvictionPolicy
: Cuando alcanzado el límite maxElementsInMemory, Ehcache irá a limpiar la memoria de acuerdo con la política especificada. La política por defecto es LRU (menos utilizado recientemente). Puede establecer FIFO (First In First Out) o LFU (muy poco frecuente)clearOnFlush
: Si desea borrar la cantidad máxima de memoria.
Usar Código 1.3 Cacheable
@CacheConfig(cacheNames = "baseCache")
public interface UserMapper {
@Select("select * from users where name=#{name}")
@Cacheable
UserEntity findName(@Param("name") String name);
}
1.4 Borrar caché
@Autowired
private CacheManager cacheManager;
@RequestMapping("/remoKey")
public void remoKey() {
cacheManager.getCache("baseCache").clear();
}
1.5 empezar a añadir caché
@EnableCaching // 开启缓存注解