通过Spring缓存抽象将磁盘缓存用于大数据(千兆字节)

时间:2019-08-22 17:26:19

标签: java spring-cache

我需要在单个缓存密钥中缓存一个大对象(大约为6GB时的大小),并将此缓存存储在磁盘上。 我正在从Oracle Table查询数据,并使用Spring @Cacheable批注进行保存。

在这种情况下,哪个Spring缓存存储应该是最好的?

我尝试使用ehCache-将数据保存到堆时很好,但是对于磁盘存储,我遇到了一些错误。

Caused by: java.lang.OutOfMemoryError: Direct buffer memory
        at java.nio.Bits.reserveMemory(Bits.java:693) ~[?:1.8.0_131]
        at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) ~[?:1.8.0_131]

当给更多内存时,出现maxobjectgraph大小错误,增加对象图大小也不能解决问题。 我还需要做其他设置吗,或者用例无效?

我正在尝试将此数据用作desk缓存中的单个blob,以将网络往返传输保存到oracleDB。然后将这些数据的子集进一步保存在RAM中作为缓存,以提高搜索能力。

0 个答案:

没有答案