不幸的是,正如您在 Spring Boot 文档中看到的那样:52. Metrics,默认情况下,Spring Boot 不提供 Redis 的缓存统计信息:
默认情况下,Spring Boot 提供 EhCache、Hazelcast、Infinispan、JCache 和 Guava 的缓存统计信息。如果您最喜欢的缓存库不支持开箱即用,您可以添加其他 CacheStatisticsProvider bean。
作为自己实现的另一种选择,您可以使用Redisson。这个 Redis 客户端带有与 Spring 的集成,它公开了 Prometheus 指标。您的指标看起来就像您暗示的那样:
# HELP cache_gets_total the number of times cache lookup methods have returned an uncached (newly loaded) value, or null
# TYPE cache_gets_total counter
cache_gets_total{cache="...",cacheManager="...",name="...",result="miss",} 0.0
cache_gets_total{cache="...",cacheManager="...",name="...",result="hit",} 0.0
# HELP cache_puts_total The number of entries added to the cache
# TYPE cache_puts_total counter
cache_puts_total{cache="...",cacheManager="...",name="...",} 0.0