亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs如何使用redis作為緩存介質實現封裝緩存類

發布時間:2021-08-02 10:55:23 來源:億速云 閱讀:217 作者:小新 欄目:web開發

小編給大家分享一下nodejs如何使用redis作為緩存介質實現封裝緩存類,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下:

之前在node下使用redis作為緩存介質,對redis進行了一層封裝

First: 安裝npm包 redis

const redis = require('redis');

Second: 進行封裝

// cache.js
const redis = require('redis');
const config = require('config');
const logger = require('winston');
const redisObj = {
  client: null,
  connect: function () {
    this.client = redis.createClient(config.redis);
    this.client.on('error', function (err) {
      logger.error('redisCache Error ' + err);
    });
    this.client.on('ready', function () {
      logger.info('redisCache connection succeed');
    });
  },
  init: function () {
    this.connect(); // 創建連接
    const instance = this.client;
    // 主要重寫了一下三個方法。可以根據需要定義。
    const get = instance.get;
    const set = instance.set;
    const setex = instance.setex;
    instance.set = function (key, value, callback) {
      if (value !== undefined) {
        set.call(instance, key, JSON.stringify(value), callback);
      }
    };
    instance.get = function (key, callback) {
      get.call(instance, key, (err, val) => {
        if (err) {
          logger.warn('redis.get: ', key, err);
        }
        callback(null, JSON.parse(val));
      });
    };
    // 可以不用傳遞expires參數。在config文件里進行配置。
    instance.setex = function (key, value, callback) {
      if (value !== undefined) {
        setex.call(instance, key, config.cache.maxAge, JSON.stringify(value), callback);
      }
    };
    return instance;
  },
};
// 返回的是一個redis.client的實例
module.exports = redisObj.init();

How to use

const cache = require('./cache');
cache.get(key, (err, val) => {
  if (val) {
    // do something
  } else {
    // do otherthing
  }
});
cache.set(key, val, (err, res) => {
  // do something
});
cache.setex(key, val, (err, res) => {
  // do something
})

以上是“nodejs如何使用redis作為緩存介質實現封裝緩存類”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳江县| 堆龙德庆县| 乐安县| 涡阳县| 米易县| 谷城县| 青岛市| 景洪市| 明水县| 大英县| 丽水市| 平安县| 鄢陵县| 潞西市| 南投市| 临江市| 金川县| 罗甸县| 西和县| 满洲里市| 志丹县| 如东县| 宝丰县| 环江| 九寨沟县| 宜良县| 綦江县| 宜川县| 仁布县| 通山县| 柘城县| 黄梅县| 嘉定区| 邵阳县| 龙门县| 育儿| 威宁| 淮南市| 富蕴县| 上犹县| 将乐县|