我们正在尝试向 Prometheus 公开我们的 Redis 缓存指标。以下是我们所做的。
我们有一堂课CachingConfig如下,
@Configuration
@EnableCaching
public class CachingConfig {
private final Duration cacheEntryTtl;
public CachingConfig(
@Value("${spring.cache.redis.entryTtl}")
final Duration cacheEntryTtl
) {
this.cacheEntryTtl = cacheEntryTtl;
}
@Bean
public CacheManager cacheManager(final RedisConnectionFactory redisConnectionFactory) {
final Map<String, RedisCacheConfiguration> cacheConfigurations = new HashMap<>();
cacheConfigurations.put("cacheA",cacheConfiguration(cacheEntryTtl));
cacheConfigurations.put("cacheB",cacheConfiguration(cacheEntryTtl));
return RedisCacheManager.builder(redisConnectionFactory)
.cacheDefaults(cacheConfiguration(cacheEntryTtl))
.withInitialCacheConfigurations(cacheConfigurations)
.build();
}
}
Run Code Online (Sandbox Code Playgroud)
然后我们在类中使用 Redis 缓存,如下所示。
public class BusinessService {
public static final String CACHE_A_NAME = "cacheA"
private final BusinessServiceClient businessServiceClient;
private final CacheManager cacheManager;
private final CacheMetricsRegistrar cacheMetricsRegistrar;
@PostConstruct …Run Code Online (Sandbox Code Playgroud)