Spring Boot | Le projet Spring Boot intègre le roi de la mise en cache locale (Caffeine)

Travailler ensemble pour créer et grandir ensemble ! C'est le 18ème jour de ma participation au "Nuggets Daily New Plan · August Update Challenge", cliquez pour voir les détails de l'événement

Introduction à la caféine

Adresse du site officiel : github.com/ben-manes/c…

Caffeine est une bibliothèque de mise en cache locale hautes performances.

Exemple de configuration d'environnement de programme

La configuration de l'environnement dépendant de cet exemple de programme est la suivante :

  • Version JDK : 1.8
  • Version caféine : 2.9.3
  • Version SpringBoot : 2.7.0

Étapes pour intégrer la caféine dans le projet SpringBoot

SpringBoot intègre Caffeine des deux manières suivantes :

  • Méthode 1 : introduisez directement les dépendances Caffeine, puis utilisez la méthode Caffeine pour implémenter la mise en cache.
  • Méthode 2 : introduisez les dépendances Caffeine et Spring Cache, et utilisez les méthodes d'annotation SpringCache pour implémenter la mise en cache.

Nous n'introduisons ici que la première méthode .

1. Introduisez les dépendances pertinentes dans le pom.xmlfichier .caffeine

<dependency>
    <groupId>com.github.ben-manes.caffeine</groupId>
    <artifactId>caffeine</artifactId>
</dependency>
复制代码

2. Écrivez une classe de configuration de cache - 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();
    }
}
复制代码

Dans la classe de configuration du cache, nous avons défini les paramètres suivants :

  • Définir pour expirer deux heures après la dernière écriture ou accès
  • Définir la taille initiale de l'espace de cache
  • Définir le nombre maximum de caches

Certaines configurations courantes de caféine :

configurer type de valeur La description
expireAfterAccess durée Spécifie le délai d'expiration après la dernière écriture ou l'accès
expireAfterWrite durée Spécifie combien de temps après la dernière écriture le cache expire
capacité initiale entier Taille initiale de l'espace de cache
taille maximum long Nombre maximal de caches
poidsmaximal long Le poids maximum de la cache
rafraîchiraprèsécriture durée Après la création du cache ou la dernière mise à jour du cache, le cache est actualisé après l'intervalle de temps spécifié

Remarquer:

  • maximumSizeet maximumWeightne peuvent pas être utilisés simultanément.
  • expireAfterWriteet expireAfterAccessles deux existent, expireAfterWriteselon ce qui existe.

3. Accès aux données

// 1. 注入
@Resource
private Cache<String, Object> caffeineCache;

// 2. 存储数据
caffeineCache.put("access_token", token);

// 3. 读取数据
String token = (String) caffeineCache.asMap().get("access_token");
复制代码

Lors de la lecture des données, nous devons d'abord injecter le cache de caféine, c'est-à-dire le cache que nous avons configuré dans la classe de configuration du cache à l'étape 2. La méthode de la classe de cache est appelée pour stocker les données, et la put(...)méthode de la classe de cache est appelé pour lire les données get(...).


Je suppose que tu aimes

Origine juejin.im/post/7133469059898671112
conseillé
Classement