/* * @Author: 尹鹏孝 * @Date: 2021-09-03 09:15:37 * @LastEditTime: 2021-09-03 10:36:24 * @LastEditors: Please set LastEditors * @Description: redis缓存 * @FilePath: \koa2-test-api\src\cache\_redis.js */ const redis = require('redis'); const REDIS = require('../config/config.js'); const redisClient = redis.createClient(REDIS.redis.port, REDIS.redis.host) redisClient.on("error", function (error) { if (error) { console.error('redis错误:', error); } }); redisClient.on("connect", function (error) { if (!error) { console.error('redis链接设置成功'); } }); /** * redis设置 * @param {string} key 键 * @param {*} val 值 * @param {*} timeout 超时时间 */ function set(key, val, timeout = 60 * 60) { if (typeof val === 'object') { val = JSON.stringify(val); } console.log('输出要设置的内容:', Buffer.from(val, 'utf-8')); redisClient.set(key, Buffer.from(val, 'utf-8')); redisClient.expire(key, timeout); } function get(key) { return new Promise((resolve, reject) => { redisClient.get(key, (err, val) => { if (err) { reject(err); return } if (val == null) { resolve(val); return } try { console.log('输出redis查询的内容:', JSON.parse(val)); resolve(JSON.parse(val)) } catch (error) { resolve(val); } }) }) } module.exports = { get, set }