1

在 Ehcache 2.X 中,堆外存储可以使用 Terracotta 的 BigMemory 商业产品获得。但是,从 Ehcache 3 开始,堆外存储似乎是免费的。

我想知道 BigMemory 产品是否已移至 Ehcache 3,如果它们是不同的产品,它们之间有什么区别?

谢谢,

参考:

4

2 回答 2

1

BigMemory 是产品的商业名称,即 Ehcache + Terracotta 集群 + 堆外内存和其他企业独有的特性,如安全性等。

Offheap 是允许在 Java 世界中使用不受垃圾收集器控制的内存的技术的名称。

Offheap 于2015 年初由 Terracotta 开源,它再次为 Ehcache 提供了一个开源集群解决方案。这是 Ehcache 2.10.0 的主要特性,它与 Terracotta 服务器 4.3.0 一起使用,它使用堆外存储作为服务器端存储。

Ehcache 2.x 没有开源中可用的堆外功能。但是,Ehcache 3.x 确实有它。保持这种差异的主要原因在于工程资源和推广新版本库的意愿。

开源的底层堆外实现实际上已经在 Terracotta 商业产品中使用了多年,因此是一个经过生产测试的库。

注意:我在 Ehcache 和相关库/产品上为 Terracotta 工作。

于 2016-09-20T05:06:20.683 回答
0

请参阅源代码。我看到 Ehcache 3 在内部使用了在 Apache 下获得许可的 Terracotta 库。 Ehcache 3 堆外类兵马俑库

import org.terracotta.offheapstore.MetadataTuple;
import org.terracotta.offheapstore.Segment;
import org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapCache;
import org.terracotta.offheapstore.pinning.PinnableSegment;
import org.terracotta.offheapstore.util.Factory;
于 2016-09-19T17:44:53.160 回答