为我的应用程序选择浏览器缓存还是本地缓存

Choosing betwen browser cache vs local cache for my application?

本文关键字:缓存 浏览器 我的 应用程序 选择      更新时间:2023-09-26

我希望我的服务响应在我的应用程序?过去几天我一直在寻找最好的解决方案,但我有太多的选择。

  • 浏览器缓存

  • HTML5本地缓存

  • MVC4缓存

  • Jquery缓存。

我的应用是建立在MVC/Ajax/Bootstrap。我主要使用jquery从服务中获取我的数据。

我认为这将有助于重新表述你的实际选择:

  • 客户端缓存
  • 服务器端缓存
  • 本地存储缓存

这些都不是相互排斥的。您可以使用其中一种或全部三种。实际上,同时使用客户端和服务器端缓存是非常典型的。本地存储缓存是一种新概念。从本质上讲,它不是一个真正的缓存,但一些开发人员开始摆弄它,比如缓存ajax请求脚本,使用amd风格的JavaScript包含。

如果你真的需要大量的脚本,特别是如果你已经瞄准了手机或现代浏览器,那么你可能想看看一些本地存储缓存实验。然而,其中大多数实际上只是实验,可能还没有准备好用于生产。否则,只需关注服务器端和客户端缓存。

服务器端缓存涉及服务器将数据存储在内存中以供其他请求使用。这可能是一个实际的数据结构,也可能是由一些预呈现的HTML组成的字符串。缓存服务器端可以让服务器以额外的内存需求为代价减少工作量。它对于静态数据非常有效。例如,如果您的站点导航是从数据库中提取的,但不经常更改,那么缓存呈现的站点导航HTML是很有意义的,这样服务器就可以简单地将其用于其他请求,而不必每次都查询数据库并重新构建所有HTML。

客户端缓存涉及客户端(最典型的是web浏览器),存储从服务器接收到的资产,并使用这些资产为用户呈现视图,而无需向服务器发出另一个请求。像图像、JS、CSS等都是客户端缓存的首选,因为它们通常不会随着页面的变化而改变。因此,一旦浏览器的缓存从对站点的第一个请求"启动",它通常只需要从服务器请求页面HTML。然后,它可以使用缓存中的支持资源来完全呈现页面。即使是HTML也可以缓存,所以如果你有一个页面是静态的,你可以设置cache - control或Expires头,表明浏览器可以选择缓存页面,如果它选择。