最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

nodejs使用redis封裝緩存的方法

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:55:36
文檔

nodejs使用redis封裝緩存的方法

nodejs使用redis封裝緩存的方法:這次給大家?guī)韓odejs使用redis封裝緩存的方法,nodejs使用redis封裝緩存的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。 之前在node下使用redis作為緩存介質(zhì),對redis進(jìn)行了一層封裝 First: 安裝npm包 redisconst redis = requ
推薦度:
導(dǎo)讀nodejs使用redis封裝緩存的方法:這次給大家?guī)韓odejs使用redis封裝緩存的方法,nodejs使用redis封裝緩存的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。 之前在node下使用redis作為緩存介質(zhì),對redis進(jìn)行了一層封裝 First: 安裝npm包 redisconst redis = requ

這次給大家?guī)韓odejs使用redis封裝緩存的方法,nodejs使用redis封裝緩存的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

之前在node下使用redis作為緩存介質(zhì),對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;
 // 主要重寫了一下三個方法??梢愿鶕?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;
 },
};
// 返回的是一個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
})

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注Gxl網(wǎng)其它相關(guān)文章!

推薦閱讀:

VUE+UEditor圖片跨域上傳怎樣實現(xiàn)

在vue項目中怎樣使用上傳組件

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

nodejs使用redis封裝緩存的方法

nodejs使用redis封裝緩存的方法:這次給大家?guī)韓odejs使用redis封裝緩存的方法,nodejs使用redis封裝緩存的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。 之前在node下使用redis作為緩存介質(zhì),對redis進(jìn)行了一層封裝 First: 安裝npm包 redisconst redis = requ
推薦度:
標(biāo)簽: 緩存 js 封裝
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top