【发布时间】:2013-08-02 06:16:20
【问题描述】:
我有需要存储在 Google Guava 缓存中的 Microsoft Office 文件。键是fileid,值是实际的word文档。我在 ByteArrayOutput 流中有那个 word 文档,但存储 ByteArrayOutput 流不是一个好主意。还有其他想法吗?
【问题讨论】:
标签: java file caching guava in-memory
我有需要存储在 Google Guava 缓存中的 Microsoft Office 文件。键是fileid,值是实际的word文档。我在 ByteArrayOutput 流中有那个 word 文档,但存储 ByteArrayOutput 流不是一个好主意。还有其他想法吗?
【问题讨论】:
标签: java file caching guava in-memory
如果您真的想缓存二进制内容,您可以将输出流写入字节数组并缓存该数组,但我建议您先尝试 Peter Lawrey 的解决方案。唯一的性能损失是您需要通过操作系统读取文件,但很难想象,您执行了如此多的操作,这将是一个问题。
【讨论】:
操作系统磁盘缓存已缓存在内存中的文件中,您以后可能会使用这些文件。我会先利用它。这意味着您需要缓存的只是文件名等元数据
【讨论】: