2016-07-15 37 views
0

我有一个Web应用程序,由现场的支持台用户用来管理用户帐户。该应用程序使用LINQ查询以编程方式从我们的数据库中提取数据。在最近的修补程序中,数据库脱机了几个小时,使应用程序无法支持桌面用户。使用高可用性数据库或数据设置Web应用程序?

我想实现一个数据可用于应用程序的方法,以便如果发生停机时间,查询仍然可以返回结果。迄今为止我发现的最成功的方法是利用EntityFramework.Plus。虽然这对于一般缓存非常有用,但如果数据库在过期时停机并重新创建缓存以获取最新数据,我仍然预见停机时间。我对设置第二个数据库以外的选项感兴趣。

的应用:

  • 实体框架6
  • MVC每天4
  • 〜20个用户
  • 一个数据库表6-8和10-20行每个表中的数据。
  • 不需要在数据库关闭时写入数据的能力,只能读取。

鉴于我的应用程序的使用,有什么建议可以让数据高度可用并且在数据库停机的情况下是最新的?第二级缓存是要走还是有更好的方法?

+0

什么是数据库大小?似乎足够小以适应记忆。为什么不把数据库放入同一台机器? – lstern

回答

0

如果数据库很小,则可以缓存所有内容并将缓存用作数据库故障切换或将数据库放入同一台机器。

如果数据库是很大的,所以你需要考虑什么是best cache policy为您的应用然后您可以搜索实现这个政策,或只是自己实现一个流行的缓存系统,你将无法缓存的一切。我还建议您仔细检查一下,如果您确实不需要实施到期政策,或者在数据过旧时发出警告。

如果您打算将缓存同时用作故障切换和提供更快响应的方式,请务必跟踪每个缓存条目时间戳记,因为您必须在尝试从缓存条目中获取数据之前检查缓存数据库。 (如果缓存不再新鲜,你只会打数据库)

相关问题