node redis 封装

 

获取redis 链接对象

const redisClient: RedisClient = redis.createClient(RDS_PORT, RDS_HOST,{ auth_pass: RDS_PWD });

redis 连接状态监听

redisClient.on('ready', () => {
    logger.info(`redisReady${new Date().toDateString()}`);
});

redisClient.on('end', (err: Error) => {
    logger.error('Redis end', err);
    process.exit(1);
});

redisClient.on('error', (err: Error) => {
    logger.error('Redis error', err);
    logger.error('redis 连接失败,程序退出,请检查config.json中redis配置');
    process.exit(1);
});

redisClient.on('connect', () => {
    logger.info('Redis connect success!');
});

 

 

redis 基本封装

const RedisUtils = {
    async getAsync(dbNo: number, key: string): Promise<string> {
        await selectDB(dbNo);
        return (await promisify(redisClient.GET).bind(redisClient)(key)) || '';
    },
    async setAsync(dbNo: number, key: string, item: string, expire?: number): Promise<void> {
        await selectDB(dbNo);
        await promisify(redisClient.SET).bind(redisClient)(key, item);
        if (expire) promisify(redisClient.EXPIRE).bind(redisClient)(key, expire);
    },
    async keysAsync(dbNo: number, text: string): Promise<string[]> {
        await selectDB(dbNo);
        return await promisify(redisClient.KEYS).bind(redisClient)(text);
    },
};

 



 

参考自node-redis
github :https://github.com/NodeRedis/node-redis#Promises

 

posted @ 2020-10-19 14:27  Xiukid520  阅读(317)  评论(0)    收藏  举报