lokijs可以用mysql_JavaScript实现的内存数据库LokiJS介绍和入门实例_javascript技巧

LokiJS是一个内存数据库,将性能考虑放在第一位。

LokiJS支持索引和更快的文档访问,执行性能非常好(近50万OPS/秒)。其内置DynamicView类可以用于数据子集的索引,甚至获取更快的性能。

*阅读这篇文章来看一看LokiJS的性能表现。

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

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

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

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

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

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

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

选择你最喜欢的范式

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

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

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

快速入门

安装

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

npm install lokijs

bower install lokijs

使用

创建数据库:

var db = new loki('loki.json')

传入你需要保存数据的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);

});

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359911.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

除了修改WEBCONFIG会导致WEB服务重启外,还有其他的什么操作会导致重启?

1、修改WEBCONFIG文件 2、BIN文件夹下&#xff0c;添加、删除、覆盖文件 3、IIS应用程序池回收 参考文章:http://blog.csdn.net/hb_gx/archive/2007/05/21/1619941.aspx转载于:https://www.cnblogs.com/niaowo/p/3686097.html

院队选拔赛

结束了&#xff0c;大半年的干活结束了&#xff0c;后面就是自己算法的大干活了。恩恩&#xff0c;目测就是下一站省赛了&#xff0c;早点睡觉。晚安~ 留个地址后面ak掉。hust stodgersma 转载于:https://www.cnblogs.com/stodgers/p/3898317.html

pandaboard 安装_linux fb设备(pandaboard) | 学步园

fb设备主要作用是获取帧buffer&#xff0c; 并设置&#xff0c;用于显示。fbmem是主要的框架层和抽象层。 每个具体的平台的帧设备是在调用platform_driver_register注册之后&#xff0c;由其probe函数调用create framebuffer将fbinfo设置给registered_fb(数组&#xff0c; 不同…

WinForm窗体之间传值

当程序需要将一个窗体中的一些信息传给另一个窗体并让其使用时,就需要用到这个知识点 方法一:通过接受参数的窗体的构造函数传值 例:现有Form1和Form2两个窗体,二者都包含一个文本框,Form1还包含一个按钮.程序从Form1开始运行,当点击Form1上的按钮时,Form2弹出,并将Form1中文本…

多线程写mysql数据库_多线程读写mysql数据库

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼unsigned int __stdcall scan(PVOID pM){char ip[20];strcpy(ip, (char*)pM);MYSQL mysql;MYSQL_RES* result;//初始化mysql句柄mysql_init(&mysql);//连接mysql数据库if(!mysql_real_connect(&mysql,"localhost"…

C++学习之路,漫长而遥远

一、C/C语言 如果你的基础很差&#xff0c; 建议不要一开始就学C语言&#xff0c;从C开始学起&#xff0c;对程序有个初步的认识&#xff0c;循序渐进。C语言的书嘛&#xff0c;先买一本 300 页以内的&#xff0c;把书中的每一个例子都通过键盘敲打进去到 Visual studio里面去&…

python图标icon_用Python提取exe图标icon

这里使用Python win32包中的win32gui.ExtractIconEx方法来提取exe的图标&#xff0c;除了安装Python&#xff0c;还需要到这里下载Pywin。第一份代码将指定的a.exe图标保存为bmp格式&#xff1a;import win32uiimport win32guilarge, small win32gui.ExtractIconEx(r"c:/…

python读取word图片_Python中如何读取Word中的图片

Python能够快速的编写、调试&#xff0c;用来提取各类软件中的图片再好不过了。今天小编就为大家带来在Python中提取Word图片的方法。方法需要批量的修改文件后缀名&#xff0c;并且解压之后将图片拷贝到需要存放的地方&#xff0c;然后将该文件夹清空留作下次的路径&#xff0…

layoutSubviews 详解

ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size - (void)sizeToFit——————- - (void)layoutSubviews - (void)layoutIfNeeded - (void)setNeedsLayout——————– - (void)setNeedsDisplay - (void)drawRectlayoutSubviews在以下情况下会被调用&#xff…

jdk中的设计模式_JDK中的设计模式

jdk中的设计模式Zen的JCG合作伙伴Brian Du Preez 是IT领域的合作伙伴&#xff0c; 在收集JDK中最常见的设计模式方面做得非常出色。 模式列表的确令人印象深刻且很长&#xff0c;因此让我们不再ba不休&#xff0c;然后将其呈现给您。 前几天&#xff0c;我在Enterprise Dev上看…

python鼠标选中事件_python对绑定事件的鼠标、按键的判断实例

当多个事件绑定了同一个命令&#xff0c;那么在命令内部根据不同的事件进行处理的时候&#xff0c;怎么确定哪个事件发生了呢&#xff0c;用下面的来检测&#xff0c;经过测试处理tab键和alt键不能识别&#xff0c;其他单个都能被识别。还有个事件的type属性&#xff0c;这个经…

PAT 1074. Reversing Linked List (25)

Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K 3, then you must output 3→2→1→6→5→4; if K 4, you must output 4→3→2→1→5→6. Input Sp…

jOOQ,H2和Maven入门

本文是我们学院课程的一部分&#xff0c;标题为jOOQ –类型安全的数据库查询 。 在SQL和特定关系数据库很重要的Java应用程序中&#xff0c;jOOQ是一个不错的选择。 当JPA / Hibernate抽象过多&#xff0c;JDBC过多时&#xff0c;这是一种替代方法。 它显示了一种现代的领域特…

sqlserver迁移数据到mysql_SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql

本文主要向大家介绍了SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql&#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习SQLServer数据库有所帮助。安装MySql.Data.Entity然后你需要安装 MySql.Data.Entity和 MySql.Data 到你的 .EntityFramework 和 .We…

查询SQL中某表里有多少列包含某字段

select c.namefrom SYSCOLUMNS as c left join SYSOBJECTS as t on c.idt.id where c.name like 这里是某个字段% and t.name这里是表名 转载于:https://www.cnblogs.com/qiywtc/p/3719087.html

php与mysql连接程序_PHP与Mysql连接

首先请确保LAMP环境完全配置成功&#xff0c;否则请猛击我&#xff01;然后通过mysql的密码登陆到phpMyAdmin&#xff0c;在浏览器中输入http://127.0.0.1/phpMyAdmin登陆后就像是这样&#xff1a;首先我们来创建一个用于测试的数据库。偷懒的话直接在phpMyAdmin中创建就可以了…

java自动gc_具有Java 7中自动资源管理功能的GC

java自动gc这篇文章简要概述了Java 7中引入的称为自动资源管理或ARM的新功能。 文章探讨了ARM如何减少开发人员为有效释放分配的资源的JVM堆而必须编写的代码。 Java编程语言中编程的最甜蜜之处之一是对象取消分配的自动处理。 在Java世界中&#xff0c;这通常被称为垃圾收集。…

ASP.NET 程序优化

一、SqlDataRead和Dataset的选择 Sqldataread优点&#xff1a;读取数据非常快。如果对返回的数据不需做大量处理的情况下&#xff0c;建议使用SqlDataReader&#xff0c;其性能要比datset好很多。缺点&#xff1a;直到数据读完才可close掉于数据库的连接 (SqlDataReader 读数据…

python pandas excel数据处理_Python处理Excel数据-pandas篇

Python处理Excel数据-pandas篇非常适用于大量数据的拼接、清洗、筛选及分析在计算机编程中&#xff0c;pandas是Python编程语言的用于数据操纵和分析的软件库。特别是&#xff0c;它提供操纵数值表格和时间序列的数据结构和运算操作。它的名字衍生自术语“面板数据”(panel dat…

Proe Top-Down设计演示

前段时间有网友问我&#xff0c;proe 里面有没有装配设计中当某一零件尺寸需要修改时&#xff0c; 与其相关的零件尺寸都需要随之做相应改变的法子。我认为top-down是很好的选择。 下面介绍一下top-down的理论&#xff1a; 就按照产品的功能要求先定义产品架构并考虑组件与零件…