我有一个Sping Boot 2应用程序,它已经实现了Caffeine
缓存管理器的缓存。缓存是以标准的方式实现的,带有@Cacheable
,@CacheEvict
,@CachePut
注解。
我迁移了使用Redis
的应用程序,以便在Pod之间分布缓存。
现在的问题是指标。在迁移之前,Caffeine
暴露了cache_puts_total
,cache_gets_total
等缓存指标,现在什么都没有。在RedisCacheManager
中是否有针对指标的实现?我找不到任何东西。
2条答案
按热度按时间7kqas0il1#
不幸的是,正如你在Sping Boot 文档中看到的:52.指标,Sping Boot 默认不提供Redis的缓存统计:
默认情况下,Sping Boot 为EhCache,Hazelcast,Infinispan,JCache和Guava提供缓存统计信息。如果您最喜欢的缓存库不支持开箱即用,您可以添加其他CacheStatisticsProvider bean。
作为另一种替代方案,你可以使用Redisson,这个Redis客户端与Spring集成,可以公开Prometheus指标,你的指标看起来就像你暗示的那样:
shstlldc2#
你可以配置RedisCacheManager来给予你指标。首先,你需要通过从Prometheus添加必要的指标类型来实现CacheStatisticsCollector。然后这个实现应该被添加到RedisCacheWriter,它应该被放置在RedisCacheManager中。例如: