db-cache

1.0.10 • Public • Published

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(11NOT 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' } ]

Readme

Keywords

Package Sidebar

Install

npm i db-cache

Weekly Downloads

1

Version

1.0.10

License

MIT

Last publish

Collaborators

  • zy445566