@opentiny/tiny-toolkit-pro
Version:
TinyPro Vue:开箱即用、前后端分离的 Vue 后台管理模板
31 lines (27 loc) • 805 B
text/typescript
import { Injectable } from '@nestjs/common';
import Redis from 'ioredis';
()
export class RedisService {
private redisClient: Redis;
constructor() {
this.redisClient = new Redis({
host: process.env.REDIS_HOST,
port: parseInt(process.env.REDIS_PORT),
});
}
async setUserToken(
email: string,
token: string,
ttl: number
): Promise<string | null> {
return this.redisClient.set(`user:${email}:token`, token, 'EX', ttl);
}
async getUserToken(email: string): Promise<string | null> {
return this.redisClient.get(`user:${email}:token`);
}
async delUserToken(email: string): Promise<void> {
//退出登录后,将token从Redis删除
await this.redisClient.del(`user:${email}:token`);
return;
}
}