A simple redis data layer framework
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
schema
test
tool
.gitignore
README.md
index.js
package.json

README.md

orz

A simple redis data layer framework

##install With npm do:

npm install orz

##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');