我应该使用哪种HTML5离线存储解决方案在我的网络应用程序中存储用户注释?

时间:2011-06-16 15:19:20

标签: javascript html5 local-storage offline

我正在编写一个Chrome应用程序,用户可以在其中创建和编写笔记(纯文本),我希望这些笔记可以离线保存。

我了解到html5有多种存储解决方案:localStorageWeb SQL DBApplication Cache。我想知道你如何选择它们的建议,考虑它们提供的尺寸,速度和使用的便利性。

3 个答案:

答案 0 :(得分:6)

localStorage是迄今为止最简单的解决方案,也是您应该用于此任务的解决方案。它允许您存储字符串,因此只要您的数据可以表示为字符串 - 它将起作用(通常的做法是在保存之前将非字符串数据转换为json,然后再解析)。

WebDB是您的普通数据库。如果需要跨多个表对数据运行复杂查询,则可以使用它。为了存储笔记,这将是一种过度杀伤。

Application cache是完全不同的东西,我不知道如何在这里应用它。它用于缓存html页面和资源。

答案 1 :(得分:5)

本地存储

这基本上是一个键/值数据库,您可以使用它来代替cookie来存储您可能在服务器上使用memcache等组件的设置或其他用例。我个人会将此用于需要缓存的数据。

应用程序缓存

我假设您的意思是通过清单文件进行缓存。这应该补充您对缓存的其他用途。这允许您在用户设备上缓存实际资源,例如图像,javascript文件和html文件,以便它们在与Internet断开连接时可以在您的应用程序中工作

Web SQL DB

这是一个您想要存储用户数据的数据库,您可能希望将它用于存储在服务器上的sql数据库中的数据。

答案 2 :(得分:1)

根据这个:https://developer.chrome.com/apps/offline_apps#saving-locally

  

打包的应用无法使用Web SQL数据库或localStorage。 WebSQL   规范已经被弃用了一段时间,还有localStorage   同步处理数据(这意味着它可能很慢)。存储   API异步处理数据。

IndexedDB是推荐的存储机制。