Spring Boot | El proyecto Spring Boot integra el rey del almacenamiento en caché local (Caffeine)

¡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.xmlarchivo .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:

  • maximumSizey maximumWeightno se pueden usar simultáneamente.
  • expireAfterWritey expireAfterAccessambos existen, expireAfterWritecualquiera 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(...).


Supongo que te gusta

Origin juejin.im/post/7133469059898671112
Recomendado
Clasificación