数据库MySQL:
const Koa = require('koa');
const config = require('./config');
let server = new Koa();
(async ()=>{
// 数据库
server.context.db = await require('./libs/mysql')
server.use(async ctx=>{
ctx.body = await ctx.db.query("SELECT * FROM news_table LIMIT 10")
})
server.listen(config.prot)
console.log(`server running at ${config.prot}`)
})();
Redis:
const redis = require('redis');
const bluebird = require('bluebird');
const config = require('../config');
let client = redis.createClient({
host: config.redis_host,
port: config.redis_port,
password: config.redis_pass,
})
bluebird.promisifyAll(redis.RedisClient.prototype);
// redis事件
// onerror任何错误
// onreconnecting正在重新连接
client.on('error', err=>{
console.log('error:', err.code);
})
client.on('reconnecting', ev=>{
console.log(`try to reconnect to redis server: ${ev.attempt}`)
})
module.exports = client;
server.js:
const Koa = require('koa');
const config = require('./config');
let server = new Koa();
(async ()=>{
server.context.db = await require('./libs/mysql')
server.context.redis = require('./libs/redis')
server.use(async ctx=>{
// await ctx.redis.setAsync('user', 'enoch')
let user = await ctx.redis.getAsync('user')
ctx.body = user
})
server.listen(config.prot)
console.log(`server running at ${config.prot}`)
})();
把redis服务器关了以后: