问题描述
|
我正在编写一个Chrome应用,用户可以在其中创建和编写便笺(纯文本),我希望这些便笺可以离线保存。
我从html5了解到了几种存储解决方案:
localStorage
,Web sql DB
,Application Cache
。考虑到它们提供的尺寸,速度和使用的便利性,我想了解您关于如何选择它们的建议。
解决方法
localStorage
是迄今为止最简单的解决方案,它是您应该用于此任务的解决方案。它允许您存储字符串,因此只要您的数据可以表示为字符串-它将起作用(通常的做法是在保存之前将非字符串数据转换为json,然后返回解析)。
WebDB
是您的普通数据库。如果您需要跨多个表对数据运行复杂的查询,则可以使用它。对于存储笔记,这将是一个过大的杀伤力。
Application cache
是完全不同的东西,我看不到如何在这里应用它。它用于缓存html页面和资源。
, 本地存储
这基本上是一个键/值数据库,您可以使用它而不是cookie来存储设置或其他用例,您可以在服务器上使用诸如memcache之类的组件。我个人将其用于需要缓存的数据。
应用程序缓存
我假设您的意思是通过清单文件进行缓存。这应该补充您对缓存的其他使用。这使您可以在用户设备上缓存实际资源,例如图像,javascript文件和html文件,以便它们在与Internet断开连接时可以在您的应用程序中工作
Web SQL数据库
这是一个您要在其中存储用户数据的数据库,您可能还希望将其用于存储在服务器上sql数据库中的数据。
, 据此:https://developer.chrome.com/apps/offline_apps#saving-locally
打包的应用程序不能使用Web SQL数据库或localStorage。 WebSQL
规范已被弃用了一段时间,并且localStorage
同步处理数据(这可能会很慢)。储存空间
API异步处理数据。
IndexedDB是推荐的存储机制。