我们必须实现一个监控模块到现有的Web应用程序。该应用程序的目的是记录在运行时执行的每个方法所花费的时间并保存到2个监控表。由于在应用程序中发生了很多方法调用,每次执行一个方法时我们都不能保存到表中。我们使用spring aop来拦截时间。我们使用redis来缓存数据,并且在每十分钟内,将数据从缓存和保存在数据库中。但redis似乎是一个麻烦的想法,因为它不断建立新的连接,这给应用程序一个噩梦。是否有任何其他方式来做到这一点。我们考虑写入一个文件,并从数据该文件定期。但这似乎也是一个资源消耗解决方案。Java Cache数据在进入数据库之前
0
A
回答
1
我建议将所有内容存储在Java应用程序中。如果您只需要一些统计数据,您可以在HashMap中跟踪这些信息,并从另一个线程每隔10分钟将数据写入数据库。最小/最大/平均时间不会占用太多内存,并且可以在将统计信息写入数据库后重置统计信息。
如果因为某些原因不满足您的需求,Redis应该快速,甚至可以帮助您计算您的统计数据。我会设置一个连接池,以防止它每次都建立一个新的网络连接。然后,我会在您的Redis客户端中使用异步写入(流水线)来加速写入。杰迪斯和JRedis都支持这一点。
相关问题
- 1. 在进入数据库之前可以格式化数据吗?
- 2. 在插入数据库之前或之后格式化数据?
- 3. 在输入数据之前检查数据库中的重复
- 4. 在插入数据库之前验证数据
- 5. 在进入数据库之前检查重复内容
- 6. 插入之前的数据库创建
- 7. 数据之前,jQuery库
- 8. 到数据库的连接之前,数据输入
- 9. 在运行量角器e2e测试之前将数据插入数据库
- 10. 数据库项目在部署之前删除数据库?
- 11. PayPal IPN数据不进入数据库
- 12. 将数据插入数据库Java JDBC
- 13. ignite:在将数据放入缓存之前对数据进行过滤
- 14. Grails empy进入数据库
- 15. 在导入mysql之前检查数据
- 16. 在插入Firebase之前验证数据
- 17. 在保存到数据库之前修改数据
- 18. 如何在保存到数据库之前合并数据?
- 19. CakePHP在保存到数据库之前更改数据
- 20. 在发布到数据库之前强制刷新数据
- 21. 在写入数据库之前清理数据的更好方法
- 22. 检查数据是否存在之前插入到iPhone的SQLite数据库
- 23. 在数据库被DropCreateDatabaseIfModelChanges删除之前进行备份
- 24. Java:嵌入式数据库
- 25. 并行进程在数据库中插入数据
- 26. 在从excel导入数据集之前操作数据
- 27. Firebase:数据库在登录前写入
- 28. 在进行新的数据库查询之前评估用户输入
- 29. 何时过滤/清理数据:在数据库插入之前或显示之前?
- 30. 在插入数据库之前将字符串转换为位
您的数据库当然可以记录每笔交易的时间吗? – EJP 2012-07-22 03:57:25
你在寻找速度还是消耗少的资源?使用RAM始终比使用硬盘快。另一方面,您可以尝试其他缓存解决方案。 – 2012-07-22 04:04:42
@ PaulVargas,我认为它是个好主意。 – ghTvNath 2012-07-22 05:01:42