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.xml
fichier .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:
maximumSize
etmaximumWeight
ne peuvent pas être utilisés simultanément.expireAfterWrite
etexpireAfterAccess
les deux existent,expireAfterWrite
selon 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(...)
.