diff --git a/user-service/pom.xml b/user-service/pom.xml
index 2becfa0..b676a6d 100644
--- a/user-service/pom.xml
+++ b/user-service/pom.xml
@@ -135,6 +135,13 @@
commons-pool2
+
+
+ com.github.ben-manes.caffeine
+ caffeine
+ 2.8.8
+
+
diff --git a/user-service/src/main/java/com/mh/user/config/CaffeineCacheConfig.java b/user-service/src/main/java/com/mh/user/config/CaffeineCacheConfig.java
new file mode 100644
index 0000000..e8d1a60
--- /dev/null
+++ b/user-service/src/main/java/com/mh/user/config/CaffeineCacheConfig.java
@@ -0,0 +1,59 @@
+package com.mh.user.config;
+
+import com.github.benmanes.caffeine.cache.*;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author LJF
+ * @title :
+ * @description 使用caffeine缓存技术
+ * @updateTime 2020-12-15
+ * @throws :
+ */
+@Configuration
+public class CaffeineCacheConfig {
+
+ // 软引用: 如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。
+ // 弱引用: 弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,
+ // 不管当前内存空间足够与否,都会回收它的内存
+ @Bean(name = "caffeineCache")
+ public Cache caffeineCache() {
+ return Caffeine.newBuilder()
+ // 软引用
+ .softValues()
+ // 弱引用
+// .weakValues()
+ // 设置最后一次写入或访问后经过固定时间过期
+ .expireAfterWrite(8*60*60, TimeUnit.SECONDS)
+ // 初始的缓存空间大小
+ .initialCapacity(100)
+ // 缓存的最大条数
+ .maximumSize(1000)
+ .build();
+ }
+
+ //定义缓存,可直接使用
+ @Bean
+ public LoadingCache expiryCache(){
+ LoadingCache loadingCache = Caffeine.newBuilder()
+ .initialCapacity(100)
+ .maximumSize(1000)
+ //缓存写入/删除监控
+ .writer(new CacheWriter