Recommend this page to a friend!
  Classes of ryan silalahi  >  Encyclopedia  >  >  Download  
Role: Auxiliary data
Content type: text/markdown
Description: Auxiliary data
Class: Encyclopedia
Store large objects in many smaller ones
Author: By
Last change: Update of
Date: 2 months ago
Size: 1,861 bytes


Class file image Download


i make this library to masking big object in nodejs. you can use this when you have to store a big data in nodejs. but considering your hardware also :-)

the logic behind this is i make separated object for masking a big object. example you need to store 100.000 properties and this library is make 100 object with 1000 properties each object.

default per object is 1 million, but you can set it when create new instance. example:

	var encyclopedia = require('encyclopedia');
	var data = encyclopedia(1000); // 1000 property per object

getting started

	var encyclopedia = require('encyclopedia');
	var data = encyclopedia(); // create new instance

	data.set('some key', 'some value');
	data.get('some key'); // return 'some value'

set(k, v)

	data.set('some key', 'some value');


	console.log( data.get('some key') );


	if(data.has('some key')){
		console.log('not found!');

unset(k, v)

	data.set('foo', 'bar'); // foo => bar
	data.unset('foo'); // foo deleted 
	data.get('foo') // undefined

walk(callback(k, v){ })

	var max = 10;
	for(var i = 0; i < max; i++){
		data.set(i, i);

	data.walk(function(k, v){
		console.log(k + ' => ' + v);

note: if callback return FALSE it will break the walk, otherwise walk will continue..


	var max = 10;
	for(var i = 0; i < max; i++){
		data.set(i, i);

	console.log('now length: ' + data.getLength()); // 10


  • ryan hs <>
need a lot to be improved

in this early development i just focus on main idea, separated big object.. i think there is a lot to be improved. you are very welcome to contribute :-)