91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

濉溪县| 威海市| 五华县| 出国| 瑞金市| 长寿区| 天峻县| 察隅县| 轮台县| 土默特右旗| 渭源县| 东安县| 肥乡县| 大余县| 晋宁县| 崇文区| 南川市| 惠东县| 德阳市| 沽源县| 响水县| 福建省| 禹州市| 济阳县| 工布江达县| 潞城市| 得荣县| 琼海市| 安岳县| 芜湖县| 武乡县| 江永县| 进贤县| 都兰县| 东辽县| 沈阳市| 盈江县| 青冈县| 布拖县| 综艺| 龙山县|