1

对于即将到来的项目,我将在 RAM 中保留大量数据(最多 10GB),但不作为缓存。是否可以在没有EH Cache的情况下使用 BigMemory(特别是 Go,即免费版),只是作为非垃圾收集的内存存储?我在文档中没有找到明确的答案,这些文档大多谈论与 EHCache 的典型集成。

谢谢你。

4

2 回答 2

2

是的,EhCacheBigMemory的API :

BigMemory Go 目前使用 Ehcache 作为其面向用户的数据访问 API。

于 2012-11-13T20:00:46.500 回答
0

基本上,BigMemory 的设计方式是另一种存储层。您将事物存储在堆中,超出了您在堆外存储的内容(即大内存),然后超出了您在磁盘上存储的内容。这样做是有意义的,因为在我们想要存储大数据的 nosql 范式中;如果它们是键值形式,事情就会很好地工作。您可以选择存储任何类型的值,只需使其可序列化即可。至于您对“不作为缓存”的约束,很有可能配置缓存以使值不会从内存中被逐出。无论如何,如果您使用 BigMemory Go,您将获得 32GB 的限制,因此即使没有任何配置,存储 10GB 也不会触发任何驱逐算法。

于 2012-11-13T20:08:18.577 回答