0.0.0 • Published 11 years ago

orz v0.0.0

Weekly downloads
7
License
-
Repository
github
Last release
11 years ago

orz

A simple redis data layer framework

##example

var orz = require('orz')(),
  // create a new schema
	users = orz.get('name', {
		properties: {
			id: {
				identifier: true,
				type: 'int'
			},
			name: {
				index: true,
				type: 'string'
			},
			email: {
				type: 'string'
			}
		}
	});

// create a new record
users.create({
	id: 123,
	name: 'Peter Gao',
	email: 'gxcsoccer@126.com'
}, function(err, results) {
	if (err) {
		console.error(err);
		return;
	}

	// get record by id
	users.get(123, function(err, result) {
		if (err) {
			console.error(err);
			return;
		}
		console.log(result);
	});
});

###output

$ node test.js
{ id: 123, name: 'Peter Gao', email: 'gxcsoccer@126.com' }

##methods

var orz = require('orz');

###var r = orz(option={})

init orz object using following options

option:

  • namespace --optional, if not set, default value will be "orz"
  • redis --optional, if set, use the existing redis connection
  • port --optional, the redis server port number
  • host --optional, the redis server host
  • password --optional, the password for redis authentication
  • database --optional, the database number of redis

###r.get(schema) get exists schema by name, or create a new schema

return: a Record object

##Record API

###Record.all(...)

get all records in this collection

r.get('users').all(function(err, records) {
	// ...
});

###Record.count(...)

get the total count of this collection

r.get('users').count(function(err, count) {
	// ...
});

###Record.get(...)

get one record or several records by id/ids

r.get('users').get(123, function(err, user) {
	// ...
});

r.get('users').get([123, 222], function(err, users) {
	// ...
});

###Record.where(...)

query record(s)

// using function
r.get('users').where(function(u) {
	return u.name == 'Peter Gao'
}, function(err, users) {
	// ...
});

// using object
r.get('users').where({
	name: 'Pater Gao'
}, function(err, users) {
	// ...
});

###Record.update(...)

update record(s)

r.get('users').update({
	id: 123,
	name: 'GaoXiaochen'
}, function(err) {
	// ...
});

###Record.remove(...)

remove record(s)

r.get('users').remove(123, function(err) {
	// ...
});

###Record.clear(...)

clear all records in this collection

r.get('users').clear(function(err) {
	// ...
});

##tools

###mysql2redis this tool can help u to generate schema automatically. it schema will save to a .json file in './schema' folder

var mysql2redis = require('./tool/mysql2redis');
mysql2redis.getSchema('orz', 'users');