1.0.10 • Published 7 years ago

db-cache v1.0.10

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

node-db-cache

	for nodejs db cache module

#require node -v >7.10 need open --harmony

#what is? Separation based on mysql and redis database, reading and writing of distributed and the second level cache function

#How To Use?

for example

-first open your mysql and your redis; sql into mysql:

create database `test`;
DROP TABLE IF EXISTS `test`.`user`;
CREATE TABLE `test`.`user` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
INSERT INTO `user` VALUES ('1', 'zs');
INSERT INTO `user` VALUES ('2', 'ls');
INSERT INTO `user` VALUES ('3', 'ww');
INSERT INTO `user` VALUES ('4', 'hehe');

-second

mkdir -p test
cd test
npm install db-cache
vim test.js

input:

var config = {
	db:{
		use:'mysql',
		mysql : {
			master:{
				host : "127.0.0.1",
				user : "root",
				password : "123456",
				port : "3306",
				database : 'test'
			},
			slaves:
			[
				{
					host : "127.0.0.1",
					user : "root",
					password : "123456",
					port : "3306",
					database : 'test'
				},
				{
					host : "127.0.0.1",
					user : "root",
					password : "123456",
					port : "3306",
					database : 'test'
				}
			]
		}
	},
	// middleData:{
	// 	use :'mongodb',
	// 	mongodb:{
	// 		host : "127.0.0.1",
	// 		port:"27017",
	// 	}
	// },
	cache:{
		use:'redis',
		redis : 
		[
			{
				host : "127.0.0.1",
				port : "6379",
				// password : "",
				db : 0
			},
			{
				host : "127.0.0.1",
				port : "6379",
				// password : "",
				db : 0
			},
		]
	}
};

var dbCache = require('db-cache');
var DBCacheEngine = dbCache.DBCacheEngine;
var BaseModule = dbCache.BaseModule;
var enigine = DBCacheEngine.getEngine(config);
class User extends BaseModule
{
	constructor(engine,cacheId,isCache)
	{
		super(engine,'user',cacheId,isCache);
	}

	async getUser(uid)
	{
		var res = await this.mySelect('select * from user where uid=?',[uid],60);
		return res;
	}

	updateUser(uid)
	{
		var res = this.myUpdate('Update user SET name="zs1" where uid=?',[uid]);
		return res;
	}
}

//you can use uid as cacheId
var uid = 1;
var user = new User(enigine,uid,true);
// user.getUser(1);
// user.getUser(1);
// user.updateUser(1);
user.getUser(1)
.then((res)=>{
	console.log(res);
	//if you need end Connect
	user.endConnect();
});

-third node --harmony test.js

	you can see(first):
	[ RowDataPacket { uid: 1, name: 'zs1' } ]

	then command+c,double time to exit,then run "node --harmony test.js" again:

	you can see(again,now in cache):
	[ { uid: 1, name: 'zs1' } ]
1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago