Web客户端缓存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web客户端缓存相关的知识,希望对你有一定的参考价值。

我们正在构建基于Web的音频编辑器的概念模型。我们遇到的第一个麻烦是客户端缓存系统。在我看来,服务器端程序员在客户端具有巨大的缓存是完美的想法,因为在许多情况下,除了多次加载相同的数据外,它需要服务器负载。此外,这种高速缓存可以是用于提供每轨道操作的缓冲器的良好候选者,例如过滤。

我们的flex程序员说这是一个很大的麻烦,几乎在任何情况下都是不可能的。但我非常怀疑,因为我知道实际的谷歌Chrome浏览器版本可以简单地在localStorage中保持高达2 Gb。此外,我找到了在线轨道编辑器的this example,看起来它的缓存机制非常好。

是否可以使用flash和js在客户端缓存一些数据(smth约100-200mb)?

答案

您可以使用SharedObject来存储数据。

我很确定默认大小限制太低,无法满足您的需求,因此您的应用需要让用户接受您的新限制: http://www.macromedia.com/support/documentation/en/flashplayer/help/help06.html

SharedObject比浏览器缓存更可靠,您可以从应用程序控制它。

另一答案

如果您使用的是html5,那么您可以使用html5 inbuilt database.在客户端存储大量数据

也请参考这个link

另一答案

我们在编写视频编辑器时所做的工作。好吧,实际上,在Flash中你可以将文件保存到用户的机器,但必须对用户透明(即用户启动操作,通过操作系统对话框并保存文件,因为他们通常会保存文件)下载),类似地,您可以从用户的计算机加载文件,但限制是用户必须启动操作(如通过单击指点设备或按键)。

这对于不同的本地存储策略具有一定的优势,这些策略对用户来说几乎是不透明的(人们通常不知道如何擦除更多现代浏览器附带的cookie,SharedObjects或web存储,但是它们几乎能够保存和删除他们系统上的文件)。此外,所有其他不透明的本地存储可能具有限制,不太精明的用户可能不知道如何克服/通常可能无法克服 - 这些将是大小,位置和所有权。

这对您的观众来说仍然是一个障碍,因为每次他们需要保存文件时,他们必须通过操作系统的对话框,而不是执行Ctrl + S / Cmd + S / Cx C ...但是给予所有其他选项,IMO,为用户提供最多选择/提供最佳体验。

另一个建议 - 原则上你可以提出一个基于浏览器的“增强”版本的应用程序,用户可以将其安装为浏览器插件(如果这是他们定期使用的编辑器 - 为什么不呢?),在这种情况下,您不会受限于Web技术提供的笨拙选项。基于Chrome和Mozilla的浏览器鼓励这样的开发,但它不是标准化的。尽管如此,由于这两个浏览器几乎可以在任何操作系统上运行,这听起来并不像将用户锁定到某个平台那样......

以上是关于Web客户端缓存的主要内容,如果未能解决你的问题,请参考以下文章

Web客户端缓存

web缓存

Web开发人员需知的Web缓存知识

浏览器缓存原理是什么?

nginx的web缓存服务环境部署记录

浏览器/web-缓存知识点梳理