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); });
本文向大家介绍JavaScript内存管理介绍,包括了JavaScript内存管理介绍的使用技巧和注意事项,需要的朋友参考一下 简介 低级语言,比如C,有低级的内存管理基元,想malloc(),free()。另一方面,JavaScript的内存基元在变量(对象,字符串等等)创建时分配,然后在他们不再被使用时“自动”释放。后者被称为垃圾回收。这个“自动”是混淆并给JavaScript(和其他高级语言
1.1 ABP总体介绍 - 入门介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序基础框架和项目模板。 ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所
本文向大家介绍Javascript单例模式的介绍和实例,包括了Javascript单例模式的介绍和实例的使用技巧和注意事项,需要的朋友参考一下 前言 其实和其他编程语言一样,Javascript同样拥有着很多种设计模式,比如单例模式、代理模式、观察者模式等,熟练运用Javascript的设计模式可以使我们的代码逻辑更加清晰,并且更加易于维护和重构。 本文将会介绍Javascript中的单例模式,在
本文向大家介绍纯Python开发的nosql数据库CodernityDB介绍和使用实例,包括了纯Python开发的nosql数据库CodernityDB介绍和使用实例的使用技巧和注意事项,需要的朋友参考一下 看看这个logo,有些像python的小蛇吧 。这次介绍的数据库codernityDB是纯python开发的。 先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度
本文向大家介绍javascript的事件触发器介绍的实现,包括了javascript的事件触发器介绍的实现的使用技巧和注意事项,需要的朋友参考一下 事件触发器从字面意思上可以很好的理解,就是用来触发事件的,但是有些没有用过的朋友可能就会迷惑了,事件不是通常都由用户在页面上的实际操作来触发的吗?这个观点不完全正确,因为有些事件必须由程序来实现,如自定义事件,jQuery的ajax框架的一些自定义事件
本文向大家介绍Python实现数据库并行读取和写入实例,包括了Python实现数据库并行读取和写入实例的使用技巧和注意事项,需要的朋友参考一下 这篇主要记录一下如何实现对数据库的并行运算来节省代码运行时间。语言是Python,其他语言思路一样。 前言 一共23w条数据,是之前通过自然语言分析处理过的数据,附一张截图: 要实现对news主体的读取,并且找到其中含有的股票名称,只要发现,就将这支股票和
欢迎阅读 “Rust 程序设计语言”,一本介绍 Rust 的书。Rust 是一门着眼于安全、速度和并发的编程语言。其程序设计兼顾底层语言的性能与控制,并不失高级语言强大的抽象能力。其特性适合那些有类 C 语言经验,正在寻找更安全的替代品的开发者;同样适合有着类 Python 语言背景,寻求在不牺牲表现力的前提下,编写更高性能代码的开发者。 本书的目标读者至少应了解一门其它编程语言。阅读本书之后,你
英文原文:http://emberjs.com/guides/getting-started/index.html 欢迎来到Ember.js世界!本入门指南将使用Ember.js来创建一个简单的应用,并简单介绍整个框架背后的一些核心概念。阅读本指南需要熟悉一些基本的Web技术,比如Javascript、HTML、CSS和一些诸如浏览器Web审查器。 本入门指南采用非常流行的TodoMVC示例 应用