LokiJS:纯JavaScript实现的轻量级数据库

    作者:课课家教育更新于: 2017-05-17 11:37:56

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

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

      LokiJS的性能表现

      1.LokiJS支持collections(数据集),跟MongoDB的很像,并且以JSON格式将数据保存到磁盘,所以你的数据是可移植的。

      2.LokiJS即可运行在Node.js端和浏览器端。

      3.JavaScript是一种简单易学,通用的语言,所以在javascript数据库开发非常很容易且非常高效。

          如果你的MongoDB还没有退休,在下面这些情况,您可能会发现LokiJS是更理想的解决方案:

      1.移动应用-特别是HTML应用。(Cordova,Phonegap)

      2.Node.js内置的为小到中型应用设计的数据存储

      3.内置在桌面中的应用(NodeWebkit)

      LokiJS正在支持独立服务器,可使用http/tcp客户端访问。

      选择你最喜欢的范式

      1.LokiJS的功能完全利用了JavaScript的力量。

      2.如果函数式编程是您的首选风格,那么你肯定会喜欢使用视图来查询数据。

      3.您也可以使用您偏爱的MongoDB的shell来查询文本对象。

      采用LokiJS的最理想情景:

      1.移动应用程序——尤其是基于HTML5的(例如:Cordova,Phonegap等等)

      2.基于Node.js的小——中型应用程序的数据存储

      3.采用Node-Webkit的桌面应用程序

      LokiJS目前还处在alpha阶段。源码托管在Github上。

      快速入门

      安装

      LokiJS可在npm和bower中安装.运行:

      或

    快速入门    安装    LokiJS可在npm和bower中安装.运行:

      使用

      创建数据库:

    使用    创建数据库:

      传入你需要保存数据的JSON文件

      创建数据集:

     传入你需要保存数据的JSON文件    创建数据集:

      插入文档:

    插入文档:

      获取文档:

    获取文档:

      创建动态视图:

     创建动态视图:

      MapReduce(数据聚合):

      MapReduce(数据聚合):

      :在LokiJS的路线图上,有一个服务器端持久化适配器。目前,其存在形式是整个db序列化成了一个文件,每当保存时文件会被重写。

      有些开发人员将LokiJS用于一个大小几GB的db,每次他们更新一条记录,文件就会被重写。当db大小只有几MB时,不管在浏览器端,还是在移动设备上,这都没有问题,因为保存操作是毫秒级的。但Minichino指出,对于后端,就需要增量持久化适配器了,并且要有用于网络操作和复制的http/tcp封装器。

      小编结语:

      Loki最初是作为一个在phonegap/cordova应用上存储数据的解决方案,但相对于他对Loki的需求而言,Minichino认为SQLite“太笨重”。如果你在使用JavaScript,对于JavaScript对象和对象字面量,将它们转化为表格会很痛苦,Minichino表示,这就是为什么Loki被创建成了一个组件,它接收对象,然后在本地文件系统上序列化为JSON。

      更多内容尽在课课家教育!

      

课课家教育

未登录