在浏览会话期间删除加载在缓存内存中的数据

时间:2014-06-17 14:42:53

标签: json google-chrome grails browser

我有一个运行时非常繁重的后端数据的Grails应用程序。在应用程序视图中进行的每个选择都会加载一个新的JSON文件。我是开发Web应用程序的新手,我认为这个JSON文件正在获取加载正被加载到浏览器的缓存中(这只是猜测,我也可能是错的。在这种情况下,请纠正我。)

为什么我得出这个结论是因为,在使用应用程序一段时间并在视图中进行不同的选择后,我发现浏览器崩溃(在我的情况下,它停止响应)之后的累积大小加载到缓存中的JSON文件(假设它是缓存)超过200MB。

如果加载文件的位置实际上是缓存(或者是任何其他存储位置),我想删除先前加载的文件。

如果此解决方案不够实用,请随时建议任何可以解决我的问题的方法。 任何帮助或建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用浏览器sessionStorage(只能在标签内的会话中访问)或localStorage(可通过多个标签访问多个会话)使用JavaScript。

这些可以以键,值对的形式存储字符串数据。因此,您可以从文件中获取JSON数据并使用JSON.stringify()将其转换为字符串,并使用JSON.parse()将数据从浏览器的存储中从字符串恢复为JSON。

假设您正在使用sessionStorage,则可以使用sessionStorage.length检查已存储的JSON字符串数。您可以在代码中设置限制,以便在达到限制时,可以使用sessionStorage.removeItem(key)删除最旧的限制。