• 【转】LokiJS:纯JavaScript实现的轻量级数据库


    原文转自:http://www.html5cn.org/article-7091-1.html

     LokiJS一个轻量级的面向文档的数据库,由JavaScript实现,性能高于一切。目的是把JavaScript对象作为文档,然后再进行存储,并且以同样的方式来检索数据。 LokiJS可以运行于Node.js和所有支持JavaScript的浏览器、移动应用程序上。 


           LokiJS支持字段索引来实现更快的文件访问,性能也相当好(近50万OPS/ s)。其内置的DynamicView类也能用于数据子集的索引,达到更快的性能。 LokiJS支持集合,很像MongoDB,并将数据以JSON格式保存到硬盘上(根据会话来恢复状态),所以你的数据是可移植的。 

           采用LokiJS的最理想情景:

    • 移动应用程序——尤其是基于HTML5的(例如:Cordova,Phonegap等等)
    • 基于Node.js的小——中型应用程序的数据存储
    • 采用Node-Webkit的桌面应用程序
    • LokiJS目前还处在alpha阶段。源码托管在Github上。

    快速安装:

    [js]

    1. npm install lokijs
    2. or:
    3. bower install lokijs
    复制代码

    创建一个数据库:

    1. var db = new loki('loki.json') 
    2. Pass the filename where to persist data
    复制代码

    创建一个集合:

    1. var children = db.addCollection('children')
    复制代码

    插入一个文档:

    1. children.insert({name:'Sleipnir', legs: 8})
    2. children.insert({name:'Jormungandr', legs: 0})
    3. children.insert({name:'Hel', legs: 2})
    复制代码

    检索/获取文档:

    1. children.get(1); // returns Sleipnir
    2. children.find( {'name':'Sleipnir'} )
    3. children.find( { legs: { '$gt' : 2 } } )
    复制代码

    创建一个动态视图:

    1. var legs = children.addDynamicView('legs');
    2. legs.applyFind( { legs: { '$gt' : 2 } )
    3. legs.applySimpleSort('legs');
    4. legs.data();
    复制代码

    MapReduce:

    1. children.mapReduce( 
    2.   function( obj ){ return obj.legs; } , 
    3.   function( array ) { 
    4.     var sum = 0;
    5.     for (var i=0; i < array.length; i++ ){ 
    6.       sum += array[i];
    7.     }
    8.     return ( sum / array.length ).toFixed(2);
    9. });
    复制代码

    LokiJS相关资料:

    官网:http://lokijs.org/

    托管地址:https://github.com/techfort/LokiJS

    来源地址:http://www.csdn.net/article/2014-11-05/2822493-LokiJS?reload=1
  • 相关阅读:
    质量属性的六个常见属性场景——以《淘宝网》为例
    软件架构师如何工作——架构漫谈读后感
    机器学习——决策树
    使用八股搭建手写数据集神经网络
    大三寒假学习进度笔记(三十)
    大三寒假学习进度笔记(二十九)
    大三寒假学习进度笔记(二十八)
    大三寒假学习进度笔记(二十七)—— 强化学习
    含e最多的单词
    数据挖掘复习1
  • 原文地址:https://www.cnblogs.com/ricky52529/p/4078777.html
Copyright © 2020-2023  润新知