nodejs链接redis

本篇文章介绍nodejs连接redis,以及redis的基本使用。

安装redis。

复制代码
cnpm i redis -S

封装redis配置信息。

config/db.js

复制代码
// redis 配置
let REDIS_CONF
// 开发环境
if (env === 'dev') {
  REDIS_CONF = {
    port: 6639,
    host: '127.0.0.1'
  }
}
// 生产环境
if (env === 'production') {
 REDIS_CONF = {
    port: 6639,
    host: '127.0.0.1'
  }
}
// 导出配置
module.exports = {
  MYSQL_CONF,
  REDIS_CONF
}

将存储和读取redis数据封装成工具类。

db/redis.js

复制代码
const redis = require('redis')
const {REDIS_CONF} = require('../config/db')

// 创建连接终端
const redisClient = redis.createClient(REDIS_CONF.port,REDIS_CONF.host)

// 监听存储过程出错
redisClient.on('error', err => {
  console.log(err)
})

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

// 读取值
function get (key) {
  const promise = new Promise((resolve, reject) => {
    redisClient.get(key, (err, val) => {
      // 出错
      if (err) {
        reject(err)
        return
      }
      // 值为空
      if (val == null) {
        resolve(null)
        return
      }
      // 如果是json则转为对象,否则直接返回设置的值
      try {
        resolve(JSON.parse(val))
      } catch (ex) {
        resolve(val)
      }
    })
  })
  return promise
}

module.exports = {
  set,
  get
}
相关推荐
Wang's Blog3 小时前
Java 接入Redis: 服务启动停止与后台运行配置
java·服务器·redis
程序员JerrySUN7 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
行百里er7 小时前
Redis 版本演进、新特性与协议那些事儿
redis·后端
Asurplus8 小时前
【SpringBoot4】3、从SpringBoot4升级Sa-Token1.46.0报错
redis·sa-token·json·jackson·springboot4
高级程序源9 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
lizz227610 小时前
Babel插件手册
javascript
zhoupenghui16812 小时前
Redis 集群的安装配置与服务交互
redis·cluster·redis集群
VXbishe13 小时前
【课程设计】基于SpringBoot的乡村政务服务系统的设计与实现-计算机毕设77011
javascript·vue.js·spring boot·python·php·课程设计·政务
志尊宝13 小时前
Vue3 零基础每日笔记(037):动手封装 useMouse 与 useWindowSize——事件监听的标准模板
前端·javascript·vue.js·笔记·html5
shmily麻瓜小菜鸡13 小时前
TDD(测试驱动开发)详解
开发语言·javascript·typescript·node.js·ecmascript