对于即将推出的项目,我会在RAM中保留大量数据(最多10GB),但不会作为缓存。是否可以使用BigMemory(特别是Go,即免费版)没有 EH Cache,只是作为非垃圾收集的内存存储?我没有在文档中找到明确的答案,主要是谈论与EHCache的典型集成。
谢谢。
答案 0 :(得分:2)
是的,EhCache API for BigMemory:
BigMemory Go目前使用Ehcache作为面向用户的数据访问API。
答案 1 :(得分:0)
基本上,BigMemory的设计方式是另一种存储层。您将事物存储在堆中,超出了堆存储的东西(这是大记忆),然后超出了存储在磁盘上的东西。这样做是有道理的,因为在我们想要存储bigdata的nosql范例中;如果它们处于键值形式,那么事情就会很好。您可以选择存储任何类型的值,只需将其序列化即可。 至于你的“不作为缓存”的约束,它很有可能配置缓存,以便不会从内存中驱逐值。无论如何,如果您使用BigMemory Go,您将获得32GB的限制,因此即使没有任何配置,存储10GB也不会触发任何驱逐算法。