当前位置: 首页 > news >正文

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
}

相关文章:

  • webSocket
  • Python装饰器本质250220
  • HTTP与网络安全
  • 华为最新OD机试真题-找单词-Python-OD统一考试(E卷)
  • topN 相似度 torch实现
  • Oracle JDK、Open JDK zulu下载地址
  • Java 与设计模式(17):责任链模式
  • 使用 Docker-compose 部署 MySQL
  • 【蓝桥】二分法
  • DP-最长公共子序列
  • 【Alertmanager】alertmanager告警系统原理剖析与应用实战,应有尽有非常全面
  • Qt能正常编译和执行,但是文本报错找不到文件
  • 程函方程的详细推导
  • MySQL_事务的四大特性
  • 【网络安全 | 漏洞挖掘】价值$40000:从路径遍历升级至RCE
  • CSS三大特性——继承、优先级与层叠
  • Redis的预备知识
  • C++中间件DDS介绍
  • 如何从共炮点数据构建速度场,为射线层析或全波形反演提供初始模型(DeepSeek R1回答)
  • AI大模型-提示工程学习笔记13-自动推理并使用工具
  • 中国海外宏洋集团:一季度经营溢利同比降48.6%,密切关注行业收并购机会等
  • 巴勒斯坦民族权力机构主席:哈马斯必须移交武器
  • 金湘军辞去山西省省长职务
  • 直播中抢镜“甲亢哥”的翁东华卸任!此前任文和友小龙虾公司董事
  • 医学泰斗客死他乡?AI小作文批量如何炮制?对话已被抓获的网络水军成员
  • 艺术家会怎么造机器人?