我有一个离线运行的现有网络应用程序(使用HTML5缓存清单)。
我将数据存储在localStorage中。我将达到localStorage的5Mb限制。我可以将CouchDB用作本地数据库,有效地用CouchDB实现替换localStorage吗?
我不想在任何服务器上安装CouchDB,我只想利用客户端存储功能来替换我的localStorage实现。
是否像下载相关的couchdb.js文件和更改客户端持久性代码一样简单?
由于
答案 0 :(得分:9)
像往常一样“它取决于”
如果您的应用程序是从网站提供的,那么没有,有像https://github.com/mikeal/pouchdb这样的项目旨在提供CouchDB的客户端版本,但是它们不会帮助您避免浏览器的限制
如果您将应用程序作为独立应用程序运送,那么,按照安装说明将CouchDB添加到您的应用程序应该是一件非常简单的事情:
让客户端代码发出沙发请求而不是localStorage,请记住:
要看的另一个主要选项是PhoneGap,它可以让您从设备访问本机存储API,同时仍然处理html / javascript,它是一个跨平台库,允许您访问本机API,包括Storage API没有浏览器限制 - http://docs.phonegap.com/phonegap_storage_storage.md.html#Storage
PhoneGap还要求您作为应用程序而非网站发货(这是不受浏览器限制的唯一方式)。
答案 1 :(得分:6)
这应该更新。 PouchDB现在使用IndexedDB,在我尝试的大多数浏览器上都没有大小限制(或者是一个选项)。我在浏览器中存储了几个100MB的地图图块。
答案 2 :(得分:3)
简短的回答是,在手机上安装Couchbase Mobile需要您作为应用程序发布,而且它拥有的Couch API比localStorage API更全面。
如果您想了解您在CouchDB的网络api范围内可以做些什么(不是特定于移动设备,但在移动设备上方便),请参阅this architecture document。