我有一个web应用程序,用于该领域的支持台用户管理用户帐户。该应用程序使用LINQ查询以编程方式从我们的数据库中提取数据。在最近的修补过程中,数据库离线了几个小时,使得应用程序无法支持桌面用户。
我想要实现一个方法,使数据可用的应用程序,以便如果发生停机,查询仍然可以返回结果。到目前为止,我发现的最成功的方法是使用EntityFramework.Plus。虽然这对于一般缓存非常有用,但如果数据库在过期时关闭,并重新创建缓存以获得最新数据,我仍然可以预见停机时间。除了建立第二个数据库之外,我还对其他选项感兴趣。
申请:
考虑到我的应用程序的使用,在数据库停机的情况下,有什么建议可以让数据高度可用和更新?第二级缓存是要走的路还是有更好的方法?
发布于 2016-07-15 18:43:38
如果数据库很小,您可以缓存所有内容并将缓存用作数据库故障转移,也可以将数据库放在同一台计算机中。
如果数据库很大,您将无法缓存所有东西,因此您需要考虑应用程序的最佳缓存策略是什么,那么您可以搜索一个流行的缓存系统来实现这个策略,或者自己实现它。我还建议您再次检查是否确实不需要实现过期策略,或者在数据太旧时发出警告。
如果要将缓存用作故障转移和提供更快响应的方法,请确保跟踪每个缓存入口时间戳,因为在尝试从数据库获取数据之前必须检查缓存。(只有当缓存不再新鲜时,您才会访问数据库)
https://stackoverflow.com/questions/38400237
复制相似问题