You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Hot Rod Java客户端的缓存使用统计信息(命中、未命中等)?

获取Hot Rod Java客户端的Infinispan远程缓存统计信息

要获取Hot Rod Java客户端的缓存使用统计(命中、未命中等),可以按以下步骤操作:

1. 启用客户端统计功能

首先需要在Hot Rod客户端配置中开启统计开关,否则无法收集相关数据:

ConfigurationBuilder builder = new ConfigurationBuilder();
// 启用客户端统计
builder.statistics().enable();
RemoteCacheManager cacheManager = new RemoteCacheManager(builder.build());

2. 获取统计数据

客户端全局统计

获取整个Hot Rod客户端的全局统计(涵盖所有缓存的汇总数据):

ClientStatistics globalStats = cacheManager.getStats();
// 全局命中数
long totalHits = globalStats.getHits();
// 全局未命中数
long totalMisses = globalStats.getMisses();
// 其他可用指标示例:总请求数、平均响应时间
long totalRequests = globalStats.getRequests();
long avgResponseTime = globalStats.getAverageResponseTime();

单个缓存的统计

针对特定缓存获取细分的统计数据:

RemoteCache<String, Object> targetCache = cacheManager.getCache("your-cache-name");
CacheStatistics cacheStats = targetCache.getStats();
// 当前缓存的命中数
long cacheHits = cacheStats.getHits();
// 当前缓存的未命中数
long cacheMisses = cacheStats.getMisses();
// 其他指标:缓存条目数、写入数等
long entryCount = cacheStats.getEntries();
long writeCount = cacheStats.getStores();

3. 获取服务器端缓存统计(可选)

如果需要获取Infinispan服务器端的原生缓存统计,需要先在服务器端配置中启用统计,再通过客户端管理API获取:

服务器端配置示例(XML)

<cache-container>
  <local-cache name="your-cache-name">
    <!-- 启用服务器端缓存统计 -->
    <statistics enabled="true"/>
  </local-cache>
</cache-container>

客户端获取服务器端统计

EmbeddedCacheManager adminCacheManager = cacheManager.administration().getEmbeddedCacheManager();
Cache<?, ?> serverCache = adminCacheManager.getCache("your-cache-name");
CacheStatistics serverStats = serverCache.getStatistics();
// 服务器端的命中、未命中数据
long serverHits = serverStats.getHits();
long serverMisses = serverStats.getMisses();

注意:不同Infinispan版本的API可能略有差异,建议对照对应版本的官方文档调整调用方式。

内容的提问来源于stack exchange,提问作者AlexElin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:12:46