Java EE数据库瓶颈 - 缓存

时间:2013-02-03 22:34:22

标签: mysql java-ee caching jboss infinispan

我正在编写一个通过gui读取文件的应用程序,将其转换为其他格式,将这两个文件保存在MySQL数据库中,并将转换后的文件作为下载选项呈现给用户。

我想知道可以使用什么缓存技术/设计模式来缓解这种潜在的瓶颈。例如,立即缓存转换后的两个文件(@CacheResult?)并将缓存的文件返回给用户ASAP,然后才将文件保存到DB。

我正在使用JBoss并可以使用Infinispan进行缓存。我猜这种用例必须有既定的模式,我只是不知道它们是什么!

1 个答案:

答案 0 :(得分:0)

你的瓶颈在写,而不是读。

您的操作系统会缓存文件供您阅读。缓存的唯一原因是您希望更多地控制缓存文件的生命周期,而不是依赖于固有的文件系统缓存。

至于写作,您可以简单地转换为内存,然后在后台将其保存到磁盘。但你没有ACIDity这样做 - 失去系统,你失去了转换和原始数据。

真正的解决方案是在后端提供合适的I / O,例如高端SAN / NAS设备或简单的现代SSD。