在我的项目中,我使用infinispan来管理数据并提高性能, 所以我有一个问题是,当我们停止服务器并重新启动它时,我的所有数据都被删除了,这是正常的,因为它有一个缓存。
所以我要您是否建议我即使服务器停止也保存我的应用程序数据?
我在互联网上进行搜索,发现了很多解决方案,例如将数据库与infinispan结合使用,或者将数据存储到文件中,例如(使用filecacheStore,jdbccachestore,casassandraCachedatastore),但我不知道哪一个是最佳解决方案!
非常感谢您的答复。
答案 0 :(得分:0)
有很多选择,没有一个是最适合所有用例的。这就是为什么有选择的原因。关于您的应用需求,您还没说太多。
1)使用持久性高速缓存存储(single file store可能是最简单的选项)。这是OOTB的解决方案。
2)关闭之前,请从您的应用中获取并保留所有数据(使用streams API进行遍历),并在启动后上传它们。这不会在运行时增加任何开销,但需要您自行处理。
3)使用节点群集,并始终保持某些节点的数据正常运行。但是,无论如何,建议备份(通过1)或2))。