【发布时间】:2015-05-19 18:02:31
【问题描述】:
我有一个非常大的 angularjs Web 应用程序,当你第一次进入网站时它会加载大文件。该站点由几个 SPA 组成,每次用户从一个站点切换到另一个站点时,这些数据都会丢失并且必须重新加载。此外,如果用户按下刷新,数据也会再次加载。
这些数据在用户会话期间不太可能发生变化,因此如果我们能够持久保存它并仅在有更新时重新加载,那就太好了。我知道本地和会话存储,但它们有 5000k 或 10000k 的限制,这还不够。我需要大约 20000k 存储空间。
有什么办法吗?
【问题讨论】:
-
对于站点应用程序来说,内存中的静态数据量是惊人的。你可以通过异步调用查看关系数据库,但你仍然需要调用来填充它。老实说,听起来您的系统设计不佳..或者不清楚您要实现的目标..可能还有其他选择
-
如果通过单个http请求加载数据,该请求将被客户端缓存。这会满足您的需求吗?您的 URL 可能类似于 /getdate/
所以它对于每个会话都是新的。来自文档 启用缓存后, $http 将来自服务器的响应存储在指定的缓存中。下次发出相同的请求时,会从缓存中提供响应,而不向服务器发送请求。 -
@Pogrindis 这个限制可能永远不会被使用,我们的需求可能大约是 7 或 8000k,但对于会话存储来说仍然太多了;这是一个包含大量信息的非常大的网络,因此它的数据量确实惊人
-
@SteveDrake 我并不真正关心 http 请求,因为正如您所说,这将被客户端缓存,问题在于数据的处理,这可能需要一些时间
标签: javascript angularjs session-storage