33 lines
872 B
TypeScript
33 lines
872 B
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { RedisProvider } from './redis.provider';
|
|
|
|
@Injectable()
|
|
export class RedisService {
|
|
constructor(private readonly redisProvider: RedisProvider) {}
|
|
|
|
async set(key: string, value: any): Promise<void> {
|
|
const client = this.redisProvider.client;
|
|
await client.set(key, value, );
|
|
}
|
|
|
|
async del(key: string): Promise<void> {
|
|
const client = this.redisProvider.client;
|
|
await client.del(key);
|
|
}
|
|
|
|
async flushall(): Promise<void> {
|
|
const client = this.redisProvider.client;
|
|
await client.flushall();
|
|
}
|
|
|
|
async setTimed(key: string, value: any, ttl: number): Promise<void> {
|
|
const client = this.redisProvider.client;
|
|
await client.set(key, value, 'EX', ttl);
|
|
}
|
|
|
|
async get(key: string): Promise<string> {
|
|
const client = this.redisProvider.client;
|
|
return client.get(key);
|
|
}
|
|
}
|