Ehcache 3 OffHeap存储与BigMemory的区别

Differences between Ehcache 3 OffHeap storage and BigMemory

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

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

谢谢,

参考文献:

查看源代码。我看到 Ehcache 3 在内部使用 Terracotta 库,该库在 Apache 下获得许可。 Ehcache 3 offheap classTerracota lib.

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;

BigMemory 是 product 的商业名称,即 Ehcache + Terracotta 集群 + 堆外内存和其他企业专用功能,例如安全性。

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

Offheap 于 2015 年初 open sourced by Terracotta 启用,这使得 Ehcache 再次拥有开源集群解决方案。这是 Ehcache 2.10.0 的主要特性,它与 Terracotta 服务器 4.3.0 一起工作,后者使用堆外存储作为服务器端存储。

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

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

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