redis的安裝:菜鳥教程:redis安裝
redis管理工具:鏈接:http://pan.baidu.com/s/1eSxJRLC 密碼:zdgy
package.json 添加
執(zhí)行 npm install 添加redis依賴
在conf文件夾下建立 loaclredis.js文件
module.exports = {
redis: {
host: '127.0.0.1',
port: "6379",
ttl:1000*60*2
}
};
在根目錄下建立redis.js文件建立redis初始化文件
const redis = require("redis");
const RedisOptions = require('./conf/localredis');//redis配置文件
const client = redis.createClient(RedisOptions.redis);
client.on("error", function (err) {
console.log("Error " + err);
});
client.hmset('myname', { name:'msq', truename: 'MaQun ' }, function(err) {
console.log(err)
});//建立一個字段存儲對象
client.expire('myname',8);//設置過期時間為8秒
redis.client = client;
module .exports = redis;
工作目錄:
建立路由
router.get('/redistest', (req, res, next)=> {
redis.client.hgetall('myname',(err,object)=>{
res.json(object);
});
});
運行之后,頁面輸出:
8秒之后:
node_redis 原生只支持callback寫法 但官方支持使用bluebird工具將其Promise化 bluebird地址:https://github.com/petkaantonov/bluebird
添加依賴:
"bluebird":"latest"
修改redis.js文件:
const redis = require("redis");
const RedisOptions = require('./conf/localredis');//redis配置文件
const client = redis.createClient(RedisOptions.redis);
/*-------------Promise化Redis-------*/
const bluebird = require("bluebird");
bluebird.promisifyAll(redis.RedisClient.prototype);
bluebird.promisifyAll(redis.Multi.prototype);
/*---------------------------------*/
client.on("error", function (err) {
console.log("Error " + err);
});
client.hmset('myname', { name:'msq', truename: 'mashouqun ' }, function(err) {
console.log(err)
});
client.expire('myname',15);
redis.client = client;
module .exports = redis;
這樣路由可以寫成:
router.get('/redistest2', (req, res, next)=> {
redis.client.multi().hgetall('myname').execAsync()
.then(r=>{
res.json(r);
})
});
router.get('/redistest3', (async(req, res, next)=> {
let r =? await redis.client.mutli().hgetall('myname').execAsync();
res.json(r);
}));