html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

JavaScript实现的内存数据库LokiJS介绍和入门实例_javascript技巧_

[ ] 已经帮助:人解决问题

LokiJS是一个内存数据库,将性能考虑放在第一位。5xyHTML5中文学习网 - HTML5先行者学习网
LokiJS支持索引和更快的文档访问,执行性能非常好(近50万OPS/秒)。其内置DynamicView类可以用于数据子集的索引,甚至获取更快的性能。5xyHTML5中文学习网 - HTML5先行者学习网

*阅读这篇文章来看一看LokiJS的性能表现。5xyHTML5中文学习网 - HTML5先行者学习网

LokiJS支持collections(数据集),跟MongoDB的很像,并且以JSON格式将数据保存到磁盘,所以你的数据是可移植的。5xyHTML5中文学习网 - HTML5先行者学习网

LokiJS即可运行在Node.js端和浏览器端。5xyHTML5中文学习网 - HTML5先行者学习网

JavaScript是一种简单易学,通用的语言,所以在javascript数据库开发非常很容易且非常高效。如果你的MongoDB还没有退休,在下面这些情况,您可能会发现LokiJS是更理想的解决方案:5xyHTML5中文学习网 - HTML5先行者学习网

1.移动应用-特别是HTML应用。(Cordova, Phonegap)5xyHTML5中文学习网 - HTML5先行者学习网
2.Node.js内置的为小到中型应用设计的数据存储5xyHTML5中文学习网 - HTML5先行者学习网
3.内置在桌面中的应用(Node Webkit)5xyHTML5中文学习网 - HTML5先行者学习网

LokiJS正在支持独立服务器,可使用http/tcp客户端访问。5xyHTML5中文学习网 - HTML5先行者学习网

选择你最喜欢的范式5xyHTML5中文学习网 - HTML5先行者学习网

LokiJS的功能完全利用了JavaScript的力量。5xyHTML5中文学习网 - HTML5先行者学习网
如果函数式编程是您的首选风格,那么你肯定会喜欢使用视图来查询数据。5xyHTML5中文学习网 - HTML5先行者学习网
您也可以使用您偏爱的MongoDB的shell来查询文本对象。5xyHTML5中文学习网 - HTML5先行者学习网

快速入门5xyHTML5中文学习网 - HTML5先行者学习网

安装5xyHTML5中文学习网 - HTML5先行者学习网

LokiJS 可在npm和bower中安装. 运行:5xyHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
5xyHTML5中文学习网 - HTML5先行者学习网
npm install lokijs 5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
5xyHTML5中文学习网 - HTML5先行者学习网
bower install lokijs5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网

使用5xyHTML5中文学习网 - HTML5先行者学习网

创建数据库:5xyHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
5xyHTML5中文学习网 - HTML5先行者学习网
var db = new loki('loki.json') 5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网

传入你需要保存数据的JSON文件5xyHTML5中文学习网 - HTML5先行者学习网

创建数据集:5xyHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
5xyHTML5中文学习网 - HTML5先行者学习网
var children = db.addCollection('children')5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网

插入文档:5xyHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
5xyHTML5中文学习网 - HTML5先行者学习网
children.insert({name:'Sleipnir', legs: 8})5xyHTML5中文学习网 - HTML5先行者学习网
children.insert({name:'Jormungandr', legs: 0})5xyHTML5中文学习网 - HTML5先行者学习网
children.insert({name:'Hel', legs: 2})5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网

获取文档:5xyHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
5xyHTML5中文学习网 - HTML5先行者学习网
children.get(1); // returns Sleipnir5xyHTML5中文学习网 - HTML5先行者学习网
children.find( {'name':'Sleipnir'} )5xyHTML5中文学习网 - HTML5先行者学习网
children.find( { legs: { '$gt' : 2 } } )5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网

创建动态视图:5xyHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
5xyHTML5中文学习网 - HTML5先行者学习网
var legs = children.addDynamicView('legs');5xyHTML5中文学习网 - HTML5先行者学习网
legs.applyFind( { legs: { '$gt' : 2 } )5xyHTML5中文学习网 - HTML5先行者学习网
legs.applySimpleSort('legs');5xyHTML5中文学习网 - HTML5先行者学习网
legs.data();5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网

MapReduce(数据聚合):5xyHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
5xyHTML5中文学习网 - HTML5先行者学习网
children.mapReduce( 5xyHTML5中文学习网 - HTML5先行者学习网
  function( obj ){ return obj.legs; } , 5xyHTML5中文学习网 - HTML5先行者学习网
  function( array ) { 5xyHTML5中文学习网 - HTML5先行者学习网
    var sum = 0;5xyHTML5中文学习网 - HTML5先行者学习网
    for (var i=0; i < array.length; i++ ){ 5xyHTML5中文学习网 - HTML5先行者学习网
      sum += array[i];5xyHTML5中文学习网 - HTML5先行者学习网
    }5xyHTML5中文学习网 - HTML5先行者学习网
    return ( sum / array.length ).toFixed(2);5xyHTML5中文学习网 - HTML5先行者学习网
 });5xyHTML5中文学习网 - HTML5先行者学习网
5xyHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助