feat: 新增通过配置信息完成Caffeine缓存管理器的分区
parent
0f0883a781
commit
a28e5d751b
|
@ -1,7 +1,8 @@
|
|||
package com.muyu.common.caffeine.bean;
|
||||
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Cache;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.cache.caffeine.CaffeineCache;
|
||||
|
@ -10,6 +11,7 @@ import org.springframework.context.annotation.Bean;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -19,8 +21,13 @@ import java.util.ArrayList;
|
|||
* @CreatedDate: 2024/9/26 上午11:52
|
||||
* @FilePath: com.muyu.common.caffeine.config
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class CaffeineManager {
|
||||
@Value("#{'${cacheNames}'.split(',')}")
|
||||
private List<String> cacheNames;
|
||||
|
||||
/**
|
||||
* 创建缓存管理器
|
||||
* @return 缓存管理器实例
|
||||
|
@ -28,21 +35,15 @@ public class CaffeineManager {
|
|||
@Bean
|
||||
public CacheManager cacheManager() {
|
||||
SimpleCacheManager cacheManager = new SimpleCacheManager();
|
||||
cacheManager.setCaches(getCaches());
|
||||
cacheManager.setCaches(cacheNames.stream()
|
||||
.map(name -> new CaffeineCache(
|
||||
name,
|
||||
Caffeine.newBuilder()
|
||||
.recordStats()
|
||||
.build()))
|
||||
.toList());
|
||||
log.info("缓存管理器初始化完成,缓存分区:{}", cacheNames);
|
||||
return cacheManager;
|
||||
}
|
||||
|
||||
|
||||
private ArrayList<CaffeineCache> getCaches() {
|
||||
ArrayList<CaffeineCache> caches = new ArrayList<>();
|
||||
// 故障信息缓存
|
||||
caches.add(new CaffeineCache("fault", Caffeine.newBuilder().build()));
|
||||
// 围栏信息缓存
|
||||
caches.add(new CaffeineCache("fence", Caffeine.newBuilder().build()));
|
||||
// 预警策略规则缓存
|
||||
caches.add(new CaffeineCache("warming", Caffeine.newBuilder().build()));
|
||||
return caches;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -28,10 +28,7 @@ import java.io.IOException;
|
|||
public class GoOnlineRabbitConsumer {
|
||||
@Resource
|
||||
private RedisTemplate<String,String> redisTemplate;
|
||||
// @Resource
|
||||
// private SimpleCacheManager simpleCacheManager;
|
||||
@Resource
|
||||
private CacheUtils<String,String> cacheUtils;
|
||||
|
||||
|
||||
|
||||
@RabbitListener(queuesToDeclare = {@Queue(RabbitConstants.GO_ONLINE_QUEUE)})
|
||||
|
|
|
@ -68,3 +68,5 @@ spring:
|
|||
logging:
|
||||
level:
|
||||
com.muyu.system.mapper: DEBUG
|
||||
|
||||
cacheNames: fault,fence,warming
|
||||
|
|
Loading…
Reference in New Issue