网站首页 > 开源技术 正文
LokiJS 是纯 JavaScript 实现的内存数据库,面向文档,支持 Node.js,浏览器和 Cordova。LokiJS 坚持的信条就是性能永远是第一考虑因素。
LokiJS 是:
浏览器的 NoSQL 数据库,包括同步和持久化特性
一个 Redis 类型的 npm 安装方式存储 store an npm install away
Cordova 的持久化 NoSQL 数据库
可嵌入的 NoSQL 数据库,支持 node-webkit 持久化存储
LokiJS 理想的应用场景:
客户端内存数据库,比如 session 存储
性能优先的应用
cordova/phonegap 移动应用,利用 JavaScript 的特性来避免与原生数据库的交互
浏览器页面加载的数据集
node-webkit 桌面应用
LokiJS 支持索引和视图,通过维护数据的唯一和二次索引来达到高性能。
LokiJS 支持集合,跟 MongoDB 很像,将数据以 JSON 的格式保存,数据可移植。
LokiJS 的主要特性:
超高性能的 NoSQL 内存数据库,唯一索引 (1.1M ops/s) 和二次索引 (500k ops/s) 集合
可以在多种环境下运行
提供快速访问数据子集的动态视图
内置持久性适配器,支持用户定义
API 修改
Joins
LokiJS 当前是 1.3.16 版本,计划未来加入以下特性:
精确搜索(exactIndex)
键值存储(key-value)
MRU 缓存
MongoDB API 兼容
独立服务器 (tcp 和 http 服务器和客户端)
复制和横向扩展
LokiJS 遵循 MIT 开源授权协议,但也提供商业支持,请看 Demo:Sandbox / Playground。
安装:
npm install lokijs
或者
bower install lokijs
使用
创建数据库:
var db = new loki('loki.json')
通过文件名保存数据
创建集合:
var children = db.addCollection('children')
插入文档:
children.insert({name:'Sleipnir', legs: 8})
children.insert({name:'Jormungandr', legs: 0})
children.insert({name:'Hel', legs: 2})
检索文档:
children.get(1); // returns Sleipnir
children.find( {'name':'Sleipnir'} )
children.find( { legs: { '$gt' : 2 } } )
创建动态视图:
var legs = children.addDynamicView('legs');
legs.applyFind( { legs: { '$gt' : 2 } )
legs.applySimpleSort('legs');
legs.data();
MapReduce:
children.mapReduce(
function( obj ){ return obj.legs; } ,
function( array ) {
var sum = 0;
for (var i=0; i < array.length; i++ ){
sum += array[i];
}
return ( sum / array.length ).toFixed(2);
});
GitHub 地址:https://github.com/techfort/LokiJS
微信订阅号:开源派 (opensourcepie)
开源派官网:osp.io 作者:叶秀兰
- 上一篇: 湖南新一批能效“头雁”出炉,这16家企业入选
- 下一篇: 7个GitHub上的存储库,Web开发必备
猜你喜欢
- 2024-12-29 Hacking Team安卓浏览器攻击过程中的漏洞分析 Stage4
- 2024-12-29 csdn免录可复制实现当前页面生成二维码链接
- 2024-12-29 8款必备的免费移动Web开发框架 移动webapp开发
- 2024-12-29 开发资源大整合:编程语言篇--JavaScript(1)
- 2024-12-29 栗子前端技术周刊第 30 期 - 2023 HTML 状态调查报告、React Conf 2024 等
- 2024-12-29 CSS 定位详解 css定位技术
- 2024-12-29 Spring boot + Jsoup 搭建,解析系统接口只需1分钟
- 2024-12-29 Scrapy-Redis分布式爬虫框架详解-邮乐网
- 2024-12-29 JavaScript引擎底层的工作原理 js底层运行机制
- 2024-12-29 我作为TypeScript开发人员学习Rust的经验
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)