可查询的客户端数据存储有哪些解决方案?这将用作临时缓存来执行基本操作,例如在客户端中对用户选择的日期范围进行排序和聚合
我找到了一些有希望的候选人,但我不确定最佳选择是什么
还有其他一些不太理想的选择:
我很想知道你对这些选项的体验/如果还有其他我错过了
答案 0 :(得分:2)
答案 1 :(得分:1)
您是否尝试过我的开源库https://bitbucket.org/ytkyaw/ydn-db/wiki/Home。它支持IndexedDB,WebSQL和localStorage。查询是NoSQL样式,即索引基本键范围查询。多索引查询需要使用复合索引或密钥连接算法。目前有SQL的基本查询接口,随着时间的推移会更好。
大型网络应用程序,大多数是CRM,在生产中使用该库。
答案 2 :(得分:1)
我编写了两个简单的API来处理Storage API。 其中一个是一个包装器,可以轻松使用本地和会话存储:https://github.com/chambs/minidb/
类似的东西:
minidb.local.set('name', 'Willian');
minidb.local.get('name'); //gives you "Willian"
minidb.session.set('userData', {id:333, name: 'Joseph'});
minidb.session.get('userData'); //gives that object
另一个是仅基于localStorage API的命名空间(无会话)。基本上,您可以添加分组到命名空间中的“行”,以便您可以根据这些命名空间分隔数据:https://github.com/chambs/zonjs
类似的东西:
zon('user').insert({name: 'Willian', email: 'o.chambs@gmail.com'});
zon('user').del('8739874397494');
其中'user'是您定义的命名空间。 对于相同的源/域
,可以拥有任意数量的名称空间希望有所帮助:)
答案 3 :(得分:0)
我已经将草坪椅用于我工作的小型内部工具,整体经验非常积极。
我在这个过程中学到的东西:道格拉斯·克罗克福德的JSON-js cycle.js在保存/获取双重链接对象时解决了我的字符串问题。
有人在grasschair github repo上发布了一个问题,描述了同样的问题并给我带来了很多麻烦。 https://github.com/brianleroux/lawnchair/issues/105