Web客户端缓存

时间:2012-07-27 11:14:37

标签: javascript flash caching local-storage

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

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

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

3 个答案:

答案 0 :(得分:1)

您可以使用SharedObject存储数据。

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

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

答案 1 :(得分:1)

如果您使用的是html5,则可以使用html5 inbuilt database.

在客户端存储大量数据

也请参阅此link

答案 2 :(得分:0)

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

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

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

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