缓存大对象并在需要时对它们进行取消/序列化(Java)

时间:2011-10-07 14:30:46

标签: java caching serialization

我刚刚谈到谷歌和我的知识是否带给我前进。

考虑以下情况:我读了很多(最多数百万)大型对象(每个高达500mb),有时我只读500kb的数百万个对象,这完全取决于我的软件用户。每个对象都将在一个管道中进行处理,因此它们不需要一直都在内存中,在序列化之后只需要在我的硬盘上再次找到对象以便我可以再次反序列化它。所以它就像是大型对象的持久缓存。

所以这里有我的问题:

  1. 是否有解决方案(任何框架)完全符合我的需要?这包括:在确定缓存是否已满后,对大对象进行任意序列化?

  2. 如果没有:有没有办法以某种方式智能检查天气应该序列化对象?例如以某种方式检查内存大小?或类似于软引用上的听众(当它被释放时?)。

  3. 非常感谢,

    基督教

2 个答案:

答案 0 :(得分:0)

存储数百万个对象听起来像数据库应用程序。

答案 1 :(得分:0)

查看Oracle Coherence。还有一些开源替代品,但Coherence是功能最丰富的。

编辑: Coherence Alternatives