【问题标题】:How to cache data in a web application?如何在 Web 应用程序中缓存数据?
【发布时间】:2016-10-24 15:27:22
【问题描述】:
我正在开发一个 ExtJS 应用程序,但是在我完全无法控制的情况下,提供我的数据/服务的服务器往往会经常停机。有没有办法将 API 调用的响应存储在 Web 应用程序中,这样当服务稍后返回 404 时,Web 应用程序只需使用缓存的数据?我使用 ExtJS 4.2 和 FireFox 作为 Web 浏览器。 API 调用是 GET/POST 请求。感谢您的任何见解。
【问题讨论】:
标签:
javascript
caching
web-applications
【解决方案1】:
您可以将数据存储在 LocalStorage 对象中,但您必须先进行请求。
localStorage.requestDatas1=response;
但如果用户选择删除浏览器缓存,您将丢失本地存储对象。
所以如果你想这样做,你应该事先选择让服务器工作。
如果您不使用 localStorage,您可以使用带有内存代理的存储(在页面重新加载时丢失数据)或本地存储代理(与使用 localStorage 相同)。
如果您有一个硬结构,您应该使用关联模型存储您的数据,并使用 localStorage 代理存储您的数据。如果请求成功,您只需更新商店。