feat: 新增通过配置信息完成Caffeine缓存管理器的分区
parent
0f0883a781
commit
a28e5d751b
|
@ -1,7 +1,8 @@
|
||||||
package com.muyu.common.caffeine.bean;
|
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 com.github.benmanes.caffeine.cache.Caffeine;
|
||||||
import org.springframework.cache.CacheManager;
|
import org.springframework.cache.CacheManager;
|
||||||
import org.springframework.cache.caffeine.CaffeineCache;
|
import org.springframework.cache.caffeine.CaffeineCache;
|
||||||
|
@ -10,6 +11,7 @@ import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,8 +21,13 @@ import java.util.ArrayList;
|
||||||
* @CreatedDate: 2024/9/26 上午11:52
|
* @CreatedDate: 2024/9/26 上午11:52
|
||||||
* @FilePath: com.muyu.common.caffeine.config
|
* @FilePath: com.muyu.common.caffeine.config
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class CaffeineManager {
|
public class CaffeineManager {
|
||||||
|
@Value("#{'${cacheNames}'.split(',')}")
|
||||||
|
private List<String> cacheNames;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建缓存管理器
|
* 创建缓存管理器
|
||||||
* @return 缓存管理器实例
|
* @return 缓存管理器实例
|
||||||
|
@ -28,21 +35,15 @@ public class CaffeineManager {
|
||||||
@Bean
|
@Bean
|
||||||
public CacheManager cacheManager() {
|
public CacheManager cacheManager() {
|
||||||
SimpleCacheManager cacheManager = new SimpleCacheManager();
|
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;
|
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 {
|
public class GoOnlineRabbitConsumer {
|
||||||
@Resource
|
@Resource
|
||||||
private RedisTemplate<String,String> redisTemplate;
|
private RedisTemplate<String,String> redisTemplate;
|
||||||
// @Resource
|
|
||||||
// private SimpleCacheManager simpleCacheManager;
|
|
||||||
@Resource
|
|
||||||
private CacheUtils<String,String> cacheUtils;
|
|
||||||
|
|
||||||
|
|
||||||
@RabbitListener(queuesToDeclare = {@Queue(RabbitConstants.GO_ONLINE_QUEUE)})
|
@RabbitListener(queuesToDeclare = {@Queue(RabbitConstants.GO_ONLINE_QUEUE)})
|
||||||
|
|
|
@ -68,3 +68,5 @@ spring:
|
||||||
logging:
|
logging:
|
||||||
level:
|
level:
|
||||||
com.muyu.system.mapper: DEBUG
|
com.muyu.system.mapper: DEBUG
|
||||||
|
|
||||||
|
cacheNames: fault,fence,warming
|
||||||
|
|
Loading…
Reference in New Issue