我有一个PHP webapp,必须访问一个远程只读数据库,这个数据库很慢(每个查询8-10秒),问题是我无法对该数据库的缓慢做任何事情,但是,我可以尽我所能来处理这个问题。数据库上的数据变化不大,可能每天一次或两次,每个查询都相对较小,所以我们考虑这些选项:
每天将远程数据库转储到本地数据库,问题是我们将数据更改延迟一天
对每个查询使用缓存,问题是数据库更改后的第一个查询总是死慢。
有没有人有其他想法?
答案 0 :(得分:0)
如何使用选项2,还有一个定期更新缓存的cron作业(至少对于最常访问的页面/搜索)?
答案 1 :(得分:0)
是否有可能添加选项
3)。获得缓慢数据库的维护者来解决它,紧急吗?
如果没有,我认为你可以采纳马特B的想法,但在当地处理它。
2)。为每个查询使用(本地)缓存。每天两次,运行一个调用所有最常见查询的后端cron作业,以便“本地”数据“准备好”以快速查找新内容。这样,如果用户正在做一些需要调用“主”数据库的异常事件,那么您的用户应该很少会遇到延迟。