/* * @Description: 框架服务redis模块 * @version: 1.0.0 * @Company: saganlab * @Author: vcbear * @Date: 2022-08-24 19:01:06 * @LastEditors: vcbear * @LastEditTime: 2022-08-31 14:52:36 */ import Redis from 'ioredis'; import { YiProcess } from '../types'; const dprocess = process as YiProcess; export default async (app) => { const redisConfig = app.config?.redis || {}; if(redisConfig?.host && redisConfig?.port){ redisConfig.port = redisConfig?.port || 6379; redisConfig.host = redisConfig?.host || "localhost"; redisConfig.password = redisConfig?.password || ""; try { const redis = new Redis(redisConfig); const c = { cyan: '\x1b[36m', red: '\x1b[31m', end: '\x1b[39m' }; app.redisConMsg = `redis connect success. host: ${c.cyan}${redisConfig.host}${c.end}, port: ${c.cyan}${redisConfig.port}${c.end}`; app.use((ctx, next) => { ctx.redis = redis; return next(); }) } catch (error) { dprocess.emit('error', error); } } }