我有一个离线运行的现有网络应用程序(使用 HTML5 缓存清单)。
我将数据存储在 localStorage 中。我将达到 localStorage 的 5Mb 限制。我可以将 CouchDB 用作本地数据库,有效地将 localStorage 替换为 CouchDB 实现吗?
我不想在任何服务器上安装 CouchDB,我只想利用客户端存储功能来替换我的 localStorage 实现。
是否像下载相关的 couchdb.js 文件并更改我的客户端持久性代码一样简单?
谢谢
我有一个离线运行的现有网络应用程序(使用 HTML5 缓存清单)。
我将数据存储在 localStorage 中。我将达到 localStorage 的 5Mb 限制。我可以将 CouchDB 用作本地数据库,有效地将 localStorage 替换为 CouchDB 实现吗?
我不想在任何服务器上安装 CouchDB,我只想利用客户端存储功能来替换我的 localStorage 实现。
是否像下载相关的 couchdb.js 文件并更改我的客户端持久性代码一样简单?
谢谢
像往常一样“这取决于”
如果您的应用程序是从网站提供的,那么不,有像pouchdb这样的项目旨在提供 CouchDB 的客户端版本,但是它们不会帮助您避免浏览器的限制
如果您将应用程序作为独立应用程序发布,那么可以,按照安装说明将 CouchDB 添加到您的应用程序应该是一件相当简单的事情:
并让您的客户端代码发出沙发请求而不是 localStorage 请求,记住:
要查看的另一个主要选项是 PhoneGap,它可以让您在处理 html / javascript 的同时从设备访问本机存储 API,它是一个跨平台库,允许您访问本机 API,包括不会有的存储 API浏览器限制 - http://docs.phonegap.com/phonegap_storage_storage.md.html#Storage
PhoneGap 还要求您以应用程序而非网站的形式发布(这是不受浏览器限制的唯一方式)。
This should be updated. PouchDB now uses IndexedDB which on most browsers I have tried does not have size limits (or is an option). I am storing several 100MB of map tiles in a browser.
一个简短的回答是,在您的手机上安装 Couchbase Mobile 需要您作为应用程序发布,并且它拥有的 Couch API 比 localStorage API 功能更全面。
If you want to get a sense for what you can do in the scope of CouchDB's web apis (not mobile specific, but handy on mobile), see this architecture document.