最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類示例

 更新時(shí)間:2018年02月07日 14:10:07   作者:karenYin0828  
這篇文章主要介紹了nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類,涉及nodejs操作redis進(jìn)行緩存設(shè)置相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類。分享給大家供大家參考,具體如下:

之前在node下使用redis作為緩存介質(zhì),對(duì)redis進(jìn)行了一層封裝

First: 安裝npm包 redis

const redis = require('redis');

Second: 進(jìn)行封裝

// 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(); // 創(chuàng)建連接
    const instance = this.client;
    // 主要重寫了一下三個(gè)方法??梢愿鶕?jù)需要定義。
    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參數(shù)。在config文件里進(jìn)行配置。
    instance.setex = function (key, value, callback) {
      if (value !== undefined) {
        setex.call(instance, key, config.cache.maxAge, JSON.stringify(value), callback);
      }
    };
    return instance;
  },
};
// 返回的是一個(gè)redis.client的實(shí)例
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
})

希望本文所述對(duì)大家nodejs程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 利用forever和pm2部署node.js項(xiàng)目過(guò)程

    利用forever和pm2部署node.js項(xiàng)目過(guò)程

    這篇文章主要給大家介紹了如何利用forever和pm2部署node.js項(xiàng)目的相關(guān)資料,文中給出了詳細(xì)的介紹和示例代碼供大家參考學(xué)習(xí),相信對(duì)大家的學(xué)習(xí)或者工作具有一定的學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編一起來(lái)看看吧。
    2017-05-05
  • node.js中的path.normalize方法使用說(shuō)明

    node.js中的path.normalize方法使用說(shuō)明

    這篇文章主要介紹了node.js中的path.normalize方法使用說(shuō)明,本文介紹了path.normalize的方法說(shuō)明、語(yǔ)法、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node.js 動(dòng)態(tài)執(zhí)行腳本

    node.js 動(dòng)態(tài)執(zhí)行腳本

    其中的Script對(duì)象,就與require('vm')返回的對(duì)象很相似,而實(shí)質(zhì)上,vm模塊就是對(duì)Script對(duì)象的封裝。
    2016-06-06
  • Node.js通過(guò)身份證號(hào)驗(yàn)證年齡、出生日期與性別方法示例

    Node.js通過(guò)身份證號(hào)驗(yàn)證年齡、出生日期與性別方法示例

    最近工作中需要對(duì)身份證號(hào)的年齡、出生日期與性別進(jìn)行驗(yàn)證,所以這篇文章主要介紹了Node.js通過(guò)身份證號(hào)驗(yàn)證年齡、出生日期與性別的方法,在介紹完node.js的實(shí)現(xiàn)方法后又給大家分類的利用JS實(shí)現(xiàn)的方法,需要的朋友可以參考下。
    2017-03-03
  • Nodejs基于LRU算法實(shí)現(xiàn)的緩存處理操作示例

    Nodejs基于LRU算法實(shí)現(xiàn)的緩存處理操作示例

    這篇文章主要介紹了Nodejs基于LRU算法實(shí)現(xiàn)的緩存處理操作,結(jié)合具體實(shí)例形式分析了LRU算法的原理、功能以及nodejs使用LRU算法實(shí)現(xiàn)緩存處理操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-03-03
  • node koa2 ssr項(xiàng)目搭建的方法步驟

    node koa2 ssr項(xiàng)目搭建的方法步驟

    這篇文章主要介紹了node koa2 ssr項(xiàng)目搭建的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • node中的session的具體使用

    node中的session的具體使用

    這篇文章主要介紹了node中的session的具體使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • Node.js開發(fā)靜態(tài)資源服務(wù)器

    Node.js開發(fā)靜態(tài)資源服務(wù)器

    這篇文章主要為大家介紹了Node.js開發(fā)靜態(tài)資源服務(wù)器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • NodeJs crypto加密制作token的實(shí)現(xiàn)代碼

    NodeJs crypto加密制作token的實(shí)現(xiàn)代碼

    這篇文章主要介紹了NodeJs crypto加密制作token的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Koa項(xiàng)目搭建過(guò)程詳細(xì)記錄

    Koa項(xiàng)目搭建過(guò)程詳細(xì)記錄

    本篇文章主要介紹了Koa項(xiàng)目搭建過(guò)程詳細(xì)記錄,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

会昌县| 盐亭县| 乌海市| 社旗县| 宜昌市| 安丘市| 上杭县| 白山市| 宽城| 山阳县| 织金县| 平安县| 新郑市| 九台市| 个旧市| 桃江县| 万全县| 四川省| 临汾市| 晴隆县| 榆树市| 叙永县| 焉耆| 邢台市| 济源市| 江华| 鄱阳县| 左贡县| 长春市| 辰溪县| 宁城县| 寿宁县| 广州市| 洛隆县| 沙湾县| 桦川县| 兰考县| 桃江县| 长顺县| 工布江达县| 赤壁市|