我正在开发Web应用程序的客户端部分。所以我有一些控件,如网格,图库等。我通过AJAX请求收到的所有数据。缓存已收到的数据是个好主意吗?我担心,如果网格有数千行,它可能会占用用户RAM,我的应用程序将很慢。什么是好的做法?
答案 0 :(得分:5)
HTTP协议已经有一个缓存数据的系统。
没有必要在javascript中使用缓存来获取从ajax请求收到的数据,只需要正确使用HTTP缓存。
有关Cache-Control HTTP指令的说明,请参阅 规格在 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
答案 1 :(得分:0)
如果数据在一段时间内保持稳定,最好缓存数据:根据您的描述,我推荐它。
但是你对内存的关注很好,所以你必须有一个大小有限的缓存,可以过期并让你轻松操作;看看jCache(只是一个例子),看看会推荐什么。您可以将其用作创建自己的解决方案的起点。 This article显示了如何在ajax
中为提交调用添加缓存答案 2 :(得分:0)
提供您正在寻找的答案需要更多信息,但简而言之,您需要进行一些计算,然后考虑对用户重要的事情。
首先 - 你需要量化这里涉及的内存量:
1行占用多少内存?
电网有多大?
其次,鉴于上图,您需要考虑用户的需求:
(1)的额外内存要求是否会成为问题? 500Mb适用于现代机器,但要求使用旧机器。如果您在公司基础架构中公开您的应用程序,他们将能够告诉您他们的计算机规格。
它是否足以让你获得足够的性能提升?收集数据需要多长时间?发送/接收多长时间。您可以通过使用压缩来减少后者(在IIS7中很容易)。如果是前者,则应探索服务器端缓存和通用代码/数据库重构。