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

浙公网安备 33010602011771号