0

我刚开始使用 Ehcache,到目前为止看起来还不错。我以一种简单的方式使用它来加速对数据库的读取,但我想知道如果数据库在短时间内不可用,我是否也可以使用它来让应用程序保持运行。(更新——我的上下文是一个具有高可用性模块的应用程序,只能从数据库中读取)

似乎我可以通过在发生数据库读取问题时禁用过期,并在读取再次工作时重新启用它来做到这一点。

你怎么看?这是一个合理的方法还是我错过了什么?如果这是一种公平的方法,任何关于如何最好地实施的提示都值得赞赏。

更新 - ehcache 支持动态配置选项来取消/将缓存设置为“永恒”。这似乎可以满足我的需要。

4

1 回答 1

1

有趣的问题 - 通常,答案是“视情况而定”。

首先,如果您有数据库可靠性问题,我会投入时间和精力来修复它们,而不是使用创可贴的解决方案。

其次,大多数应用程序需要读写才能工作——让你的应用程序保持只读状态似乎没有意义。

但是,如果您的应用程序具有真正的“只读”功能,并且存在已知且可控的数据库停机原因(例如备份),那么可以,您可以使用缓存在数据库停机时保持应用程序正常运行. 我会通过延长缓存周期来做到这一点,而不是尝试编写特定的边缘情况。例如,您可能有一个后台进程来检查数据库是否可用,并在出现问题时换入不同的配置文件。

于 2011-08-12T10:26:04.893 回答