溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

node如何連接redis

發(fā)布時(shí)間:2023-02-27 11:50:50 來源:億速云 閱讀:104 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了node如何連接redis的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇node如何連接redis文章都會(huì)有所收獲,下面我們一起來看看吧。

安裝redis。

cnpm i redis -S

封裝redis配置信息。

config/db.js

// redis 配置
let REDIS_CONF
// 開發(fā)環(huán)境
if (env === 'dev') {
  REDIS_CONF = {
    port: 6639,
    host: '127.0.0.1'
  }
}
// 生產(chǎn)環(huán)境
if (env === 'production') {
 REDIS_CONF = {
    port: 6639,
    host: '127.0.0.1'
  }
}
// 導(dǎo)出配置
module.exports = {
  MYSQL_CONF,
  REDIS_CONF
}

將存儲(chǔ)和讀取redis數(shù)據(jù)封裝成工具類。

db/redis.js

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

// 創(chuàng)建連接終端
const redisClient = redis.createClient(REDIS_CONF.port,REDIS_CONF.host)

// 監(jiān)聽存儲(chǔ)過程出錯(cuò)
redisClient.on('error', err => {
  console.log(err)
})

// 存儲(chǔ)值
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) => {
      // 出錯(cuò)
      if (err) {
        reject(err)
        return
      }
      // 值為空
      if (val == null) {
        resolve(null)
        return
      }
      // 如果是json則轉(zhuǎn)為對(duì)象,否則直接返回設(shè)置的值
      try {
        resolve(JSON.parse(val))
      } catch (ex) {
        resolve(val)
      }
    })
  })
  return promise
}

module.exports = {
  set,
  get
}

關(guān)于“node如何連接redis”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“node如何連接redis”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI