# node 中使用 redis

首先需要安装 redis 库,使用命令:npm i redis --save; 进行安装,封装 redis 使用:

'../config/db' 存储的是 redis 的配置:

const env = process.env.NODE_ENV //环境变量

// 配置
let REDIS_CONF

if(env === 'dev') {
  // dedis
  REDIS_CONF = {
    port: 6379,
    host: '127.0.0.1'
  }
}

if(env === 'production') {
  // dedis
  REDIS_CONF = {
    port: 6379,
    host: '127.0.0.1'
  }
}
module.exports = {
  REDIS_CONF
}
const redis = require('redis')

const { REDIS_CONF } = require('../config/db')

// 创建客户端
const redisClient = redis.createClient(REDIS_CONF.port, REDIS_CONF.host)

// 监听 redis 连接异常
redisClient.on('error', err => {
  console.error(err)
})

// 设置值
function set(key, val) {
  if(typeof val === 'object') {
    val = JSON.stringify(val)
  }
  console.log(key, val)
  redisClient.set(key, val, redis.print)
}
// 获取值
function get(key) {
  return new Promise((resolve, reject) => {
    redisClient.get(key, (err, val) => {
      if(err) {
        console.error(err)
        reject(err)
        return
      }
      if(val === null) {
        resolve(null)
        return
      }
      // 如果是json对象进行解析
      try{
        resolve(
          JSON.parse(val)
        )
      } catch(ex) {
        // 如果不是json对象,直接返回
        resolve(val)
      }
    })
  })
}

module.exports = {
  set,
  get
}

评 论:

更新: 11/21/2020, 7:00:56 PM