我在前端工程方面相当缺乏经验,所以如果天真或过于宽泛,我会道歉。
我的应用程序通过AJAX获取4k JSON对象。为了防止重复的HTTP请求,返回的JSON缓存在全局窗口范围内的对象中。是否有关于此类事情的最佳做法?
我意识到对缓存大小的合理限制将取决于浏览器,操作系统,硬件和其他因素。我正在寻找降级的UI响应能力。
但是有没有好的经验法则呢?
答案 0 :(得分:5)
这在很大程度上取决于您的任务以及您希望拥有的大部分用户。
如果你有精彩的3D游戏,那么即使500MB也可以(但不是全部用于JSON缓存)
现代浏览器从一开始就需要50-100MB的内存。 因此,在大多数情况下,所有javascript对象的50MB应该没问题,而且我认为50MB对于任何简单(推特)/平均(gmail)网络应用程序都足够大。
此外,RAM现在每GB需要5-7美元。
请记住,4k的字符串化JSON将变成10-50kb的对象,甚至以字符串形式将花费近8k(如果你使用utf-8进行http传输),因为js引擎使用UTF-16进行内部字符串表示。