Ehcache 轻量级包,用于具有 TTL 的内存缓存



我想在我的应用程序中使用基本的Ehcache功能(在带有TTL的内存缓存中)。最新的 2.9.0 ehcache maven 依赖项的大小为 8.7Mb。但在ehcache网站上说"小脚印"。

他们使用的是哪个软件包(非常旧的版本?为什么现在这么大?

我无法回答为什么 EHCache 如此之大,但我可以回答使用 TTL(又名到期)在内存 Java 缓存中实现轻量级高效和高性能的问题。请看一下cache2k。

免责声明一:我是cache2k的作者。

免责声明二:从0.19版本到0.20版本,产品的大小增加了大约3倍,现在计算为251kb(cache2k核心)。这样做的原因是包含大量代码以实现持久性和堆外支持。在某个时候,我会将其剪切成一个单独的模块,因为这并不总是需要的(例如在 Android 上)。

如果您对 cache2k 还有其他问题,只需将它们添加到堆栈溢出中即可。

如果cache2k不是你的菜(它仍然在不断发展,需要更多的文档),我认为轻量级缓存的标准选择是Google Guava。使用 Guava可以添加一个 Jar,其中包含许多缓存不需要的东西,但是,大多数产品无论如何都将 Guava 作为依赖项。

该网站对版本2.2.3提出声明,这仍然是正确的。但事实上,Ehcache jar 的大小随着时间的推移而增长,看起来网站还没有更新这些信息。

版本 2.7.0 作为单个 jar 发布,包括其内部依赖项net.sf.ehcache:ehcache而不是简单地成为拉入依赖项的 pom。

增长的一个原因是增加了监控功能,可以通过 ReST 调用访问这些功能。不幸的是,这也是缺乏文件的一个问题。

如果您对该主题感兴趣,请查看以下内容:

  • net.sf.ehcache.config.ManagementRESTServiceConfiguration启用/配置 ReST 服务,
  • 该包net.sf.ehcache.management.resource.services模块management-ehcache-v2 Ehcache 代码。

与此同时,Ehcache 3计划恢复"小足迹"选项。

最新更新