0

我有一个 PHP webapp 必须访问一个远程只读数据库,该数据库恰好非常慢(每次查询 8-10 秒),问题是我对该数据库的缓慢无能为力,但是,我可以做尽我所能来处理这个问题。数据库上的数据变化不大,可能每天一两次,每次查询都比较小,所以我们在考虑这些选项:

  1. 每天将远程数据库转储到本地数据库,问题是我们将数据更改延迟一天

  2. 为每个查询使用缓存,问题是数据库更改后的第一个查询总是很慢。

有人有其他想法吗?

4

2 回答 2

0

有没有可能添加选项

3)。让慢数据库的维护人员紧急修复它?

如果不是,我认为您可以采用 Matt B 的想法,但在本地处理。

2)。为每个查询使用(本地)缓存。每天两次,运行调用所有最常见查询的后端 cron 作业,以便您的本地数据“准备好”快速查找新内容。这样,您的用户应该很少受到延迟的影响,如果他们正在做一些不寻常的事情,需要调用“主”数据库。

于 2013-02-24T16:20:24.407 回答
0

使用选项 2 并且还有一个定期更新缓存的 cron 作业(至少对于您最常访问的页面/搜索)怎么样?

于 2013-02-24T15:11:53.943 回答