您好,欢迎访问一九零五行业门户网

nodejs使用redis封装缓存的方法

这次给大家带来nodejs使用redis封装缓存的方法,nodejs使用redis封装缓存的注意事项有哪些,下面就是实战案例,一起来看一下。
之前在node下使用redis作为缓存介质,对redis进行了一层封装
first: 安装npm包 redis
const redis = require('redis');
second: 进行封装
// cache.js const redis = require('redis'); const config = require('config'); const logger = require('winston'); const redisobj = {   client: null,   connect: function () {     this.client = redis.createclient(config.redis);     this.client.on('error', function (err) {       logger.error('rediscache error ' + err);     });     this.client.on('ready', function () {       logger.info('rediscache connection succeed');     });   },   init: function () {     this.connect(); // 创建连接     const instance = this.client;     // 主要重写了一下三个方法。可以根据需要定义。     const get = instance.get;     const set = instance.set;     const setex = instance.setex;     instance.set = function (key, value, callback) {       if (value !== undefined) {         set.call(instance, key, json.stringify(value), callback);       }     };     instance.get = function (key, callback) {       get.call(instance, key, (err, val) => {         if (err) {           logger.warn('redis.get: ', key, err);         }         callback(null, json.parse(val));       });     };     // 可以不用传递expires参数。在config文件里进行配置。     instance.setex = function (key, value, callback) {       if (value !== undefined) {         setex.call(instance, key, config.cache.maxage, json.stringify(value), callback);       }     };     return instance;   }, }; // 返回的是一个redis.client的实例 module.exports = redisobj.init();
how to use
const cache = require('./cache'); cache.get(key, (err, val) => {   if (val) {     // do something   } else {     // do otherthing   } }); cache.set(key, val, (err, res) => {   // do something }); cache.setex(key, val, (err, res) => {   // do something })
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
vue+ueditor图片跨域上传怎样实现
在vue项目中怎样使用上传组件
以上就是nodejs使用redis封装缓存的方法的详细内容。
其它类似信息

推荐信息