我有一个带有PHP后端和javascript前端的仪表板应用程序。从多个来源读取数据,我可以访问所有来源的数据库。 在设计应用程序时,最好是在本地存储远程数据,而不是每次应用程序发出请求时都要访问远程数据库?
在本地存储?原因是数据不是实时的。我可以写一个cron在后台运行,每5分钟更新一次数据,应用程序总是从本地DB读取数据,从而加快加载时间。
每次从远程读取?由于我可以直接访问所有这些远程数据库的数据库,因此我没有注意到每次从远程获取数据时本地存储数据的性能提升。
哪种方法更好地扩展?
答案 0 :(得分:1)
您所描述的内容称为"缓存。"这是一种常见的优化。
远程获取数据远比从本地缓存中获取数据要贵得多。
您应该学习Latency Numbers Every Programmer Should Know。
缓存的棘手部分是知道何时需要丢弃本地缓存的数据副本并从远程数据库重新获取它。这是一个难以解决的问题。
有一个古老的笑话归于Phil Karlton:
“计算机科学只有两件事:缓存失效和命名事物。”