nodejs中使用 redis缓存

408 阅读1分钟
首先我们下载redis安装
Window 下安装
下载地址:github.com/MSOpenTech/…

在node中使用 首先我们去下载相应的npm包
npm i redis --save
然后新建文件 封装下我们的redis配置  

const redis = require('redis');
const config = require('../config/config');

//创建客户端 建立连接
const Redis = redis.createClient(config.redis.port,config.redis.host) 
//监听错误
Redis.on('error',err=>{
    console.error(err);
})

//存储
function set(key,val){
    if(typeof val === 'object'){
        val = JSON.stringify(val)
    }
    Redis.set(key,val,redis.print)
}

//读取
function get(key){
    return new Promise((resolve,reject)=>{
        Redis.get(key,(err,val)=>{
            if(err){
                reject(err)
                return
            }
//会存在val为null的情况
            if(val == null){
                resolve(null)
                return 
            }
//因为 存贮的时候有对象的话 会转为字符串 所以取出来要在转换一下 
            try {
                resolve(JSON.parse(val))
            } catch (error) {
                resolve(val)
            }

        })
    })
}

//删除
 function del(val){
    Redis.del(key,redis.print)
 }

 //设置过期时间
 function expire(key,time){
    Redis.expire(key,time);
 }

 module.exports = {
     set,
     get,
     del,
     expire
 }