2012-07-27 132 views
1

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

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

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

+1

它强烈地依赖于浏览器(某些浏览器会要求得到允许更多的存储,但别人简单地失败)。所以依靠它不是一个好主意。 – Marii 2012-07-27 11:21:48

+0

那么闪存呢? – 2012-07-27 11:31:55

+0

我同意@cldy。 – 2012-07-27 11:38:52

回答

1

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

我敢肯定,默认大小限制太低您的需求,让您的应用程序需要向用户接受新的限制:
http://www.macromedia.com/support/documentation/en/flashplayer/help/help06.html

共享对象是不是浏览器的缓存更可靠,你可以从你的应用中控制它。

+0

最大尺寸是否有限制? – 2012-07-27 11:36:42

+0

如果他们同意授予您“无限制”存储空间,则没有限制(或多或少)。 – strah 2012-07-27 11:56:53

0

我们做了存储在客户端的大数据。嗯,其实,在Flash你可以将文件保存到用户的机器,其限制是它必须是透明的,用户(即用户发起的行动,穿过OS对话框,并保存为他们通常会保存任何文件,他们下载),同样,您可以从用户的计算机加载文件,限制用户必须启动操作(如通过单击指点设备或按键)。

与不同的本地存储策略相比,这对用户来说大多不透明(人们通常不知道如何清除Cookie,SharedObjects或带有更多现代浏览器的Web存储,但它们几乎可以胜任保存和删除系统中的文件)。此外,所有其他不透明的本地存储可以有少精明的用户可能不知道如何克服/可能无法在一般克服限制 - 这些将是大小,位置和所有权。

这对你的读者来说仍然有点阻碍,因为每次他们需要保存一个文件时,他们都必须通过操作系统的对话框,而不是按Ctrl + S/Cmd + S/Cx Cs ..但是,考虑到所有其他选择,IMO将为用户提供最多选择/提供最佳体验。

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