¡Trabajar juntos para crear y crecer juntos! Este es el día 18 de mi participación en el "Nuevo plan diario de Nuggets · Desafío de actualización de agosto", haga clic para ver los detalles del evento
Introducción a la Cafeína
Dirección del sitio web oficial: github.com/ben-manes/c…
Caffeine es una biblioteca de almacenamiento en caché local de alto rendimiento.
Ejemplo de configuración del entorno del programa
La configuración del entorno dependiente de este programa de ejemplo es la siguiente:
- Versión JDK: 1.8
- Versión con cafeína: 2.9.3
- Versión SpringBoot: 2.7.0
Pasos para integrar Caffeine en el proyecto SpringBoot
SpringBoot integra Caffeine de las siguientes dos maneras:
- Método 1: introduzca directamente las dependencias de Caffeine y luego use el método Caffeine para implementar el almacenamiento en caché.
- Método 2: introduzca las dependencias de Caffeine y Spring Cache y utilice los métodos de anotación de SpringCache para implementar el almacenamiento en caché.
Solo presentamos el método uno aquí .
1. Introducir dependencias relevantes en el pom.xml
archivo .caffeine
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
复制代码
2. Escriba una clase de configuración de caché - CacheConfig.java
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.TimeUnit;
@Configuration
public class CacheConfig {
@Bean
public Cache<String, Object> caffeineCache() {
return Caffeine.newBuilder()
// 设置最后一次写入或访问后两个小时后过期
.expireAfterWrite(7200, TimeUnit.SECONDS)
// 初始的缓存空间大小
.initialCapacity(100)
// 缓存的最大条数
.maximumSize(1000)
.build();
}
}
复制代码
En la clase de configuración de caché hicimos las siguientes configuraciones:
- Establecido para caducar dos horas después de la última escritura o acceso
- Establecer el tamaño del espacio de caché inicial
- Establecer el número máximo de cachés
Algunas configuraciones comunes de cafeína:
configurar | tipo de valor | Descripción |
---|---|---|
expireAfterAccess | duración | Especifica cuánto tiempo expirará después de la última escritura o acceso |
expireAfterWrite | duración | Especifica cuánto tiempo después de la última escritura expira el caché |
capacidadinicial | entero | Tamaño del espacio de caché inicial |
talla máxima | largo | Número máximo de cachés |
peso máximo | largo | El peso máximo del caché |
actualizar después de escribir | duración | Después de que se crea el caché o se actualiza por última vez, el caché se actualiza después del intervalo de tiempo especificado |
Aviso:
maximumSize
ymaximumWeight
no se pueden usar simultáneamente.expireAfterWrite
yexpireAfterAccess
ambos existen,expireAfterWrite
cualquiera que exista.
3. Acceso a datos
// 1. 注入
@Resource
private Cache<String, Object> caffeineCache;
// 2. 存储数据
caffeineCache.put("access_token", token);
// 3. 读取数据
String token = (String) caffeineCache.asMap().get("access_token");
复制代码
Al leer datos, primero debemos inyectar el caché de cafeína, es decir, el caché que configuramos en la clase de configuración de caché en el paso 2. Se llama al método de la clase de caché para almacenar los datos, y el put(...)
método de la clase de caché es llamado para leer los datos get(...)
.