我需要汇总 Web 应用程序服务器的实时统计信息。例如:
- 已完成多少内容类型 X 的请求
- 处理类型Y的请求需要多长时间
等等。
为了获得最佳性能,该数据必须完全位于内存中,而不是文件中。它不会记录每个请求,而是仅存储各个方面的计数器。
我知道的最简单的方法是将值存储在类似 SQL 的表中并执行类似 SQL 的查询。好处是索引是现成的,无需开发工作。我想像Apache Derby这样的嵌入式 Java 数据库可以完成这项工作。
另一种方法是为每个“索引列”实现集合(比如列表)和哈希表。这样,这一切都是用 Java/Scala 集合 API 完成的,但实际上我必须自己实现索引机制,测试它,维护它等等。
所以我的问题是您认为哪种方式更受欢迎,是否还有其他方法可以轻松快速地实现此功能?
谢谢。