【发布时间】:2014-07-01 19:50:22
【问题描述】:
我希望比较以下缓存平台上突发数据的读取、写入和读取/写入速度:
- EhCache
- Redis
- 内存缓存
- 宝石之火
- JCS(Java 缓存系统)
我该怎么做?我如何利用 Spring 和/或 Hibernate 等平台来执行此操作?
【问题讨论】:
标签: java spring hibernate caching
我希望比较以下缓存平台上突发数据的读取、写入和读取/写入速度:
我该怎么做?我如何利用 Spring 和/或 Hibernate 等平台来执行此操作?
【问题讨论】:
标签: java spring hibernate caching
简答:只需实现一个示例应用程序并比较速度。
长答案:您提到的产品非常不同。您可以在不同的使用场景中使用它们。例如。我大致分类如下:
我忽略了 GemFire,因为我对此一无所知。
此外,由于 API 非常不同,因此您无法进行直接比较。对于 redis 和 memcache,您使用休息接口。从理论上讲,应该可以为每个产品实现类似 JSR107 的 API,这样您就可以在产品上运行单个测试。但同样,这是没有意义的,因为产品服务于不同的目的。对于真正的解决方案,将 redis 和 EhCache 结合起来可能会更好。一种用于扩展和持久化的解决方案,一种用于处理 Java 堆中 Java 对象的缓存部分的解决方案。
我已经对 Java 缓存进行了一些基准测试。但是它只覆盖了内部堆部分,并且只运行单线程,因此需要扩展。在cache2k benchmarks 页面上查看条目。基准代码在 github 上并运行 OOTB。如果您想为它做出贡献,我们非常欢迎!
【讨论】:
我建议使用 JMeter,您可以在其中创建一些作业来测试您的应用程序的功能并创建一些基准。 http://jmeter.apache.org/
【讨论】: