6、Express 使用redis读写数据并Promise化

redis的安装:菜鸟教程:redis安装

redis管理工具:链接:http://pan.baidu.com/s/1eSxJRLC 密码:zdgy

package.json 添加


执行 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);

}));

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容