Cet article présente principalement la classe de cache encapsulée implémentée par nodejs en utilisant redis comme support de cache, et implique les compétences opérationnelles liées à nodejs exécutant redis pour les paramètres de cache.
Les exemples. dans cet article, décrivez l'utilisation de nodejs. Redis est une classe de cache encapsulée implémentée comme support de cache. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Auparavant, redis était utilisé comme support de cache sous le nœud, et redis était encapsulé avec une couche d'emballage
Premièrement : Installez le package npm redis
const redis = require('redis');
Deuxième : Encapsulation
// 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();
Comment utiliser
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 })
Ce qui précède, c'est moi, je l'ai compilé pour tout le monde, j'espère qu'il sera utile à tout le monde à l'avenir.
Articles associés :
Requête ajax + rendu vue.js + chargement de page
Comment résoudre le problème d'affichage de Vue.js data, Page flash
Comment définir la méthode de titre de chaque page à l'aide de vue-router
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!