From 1c1812a44cefaf1b199c5dada80e784a52d1bd10 Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Wed, 14 Feb 2024 14:18:40 +0300 Subject: [PATCH] Working Redis --- backend/config/redis-options.ts | 5 ++++- backend/src/modules/admin/admin.controller.ts | 6 +++++- backend/src/modules/admin/admin.service.ts | 3 +-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/backend/config/redis-options.ts b/backend/config/redis-options.ts index 3fb631c..0caf9f3 100644 --- a/backend/config/redis-options.ts +++ b/backend/config/redis-options.ts @@ -9,11 +9,14 @@ export const RedisOptions: CacheModuleAsyncOptions = { socket: { host: config.redis.redis_host, port: config.redis.redis_port, - passphrase: config.redis.redis_password, }, + database: config.redis.redis_database, + password: config.redis.redis_password, + ttl: 30, }); return { store: () => store, + isGlobal: true, }; }, }; diff --git a/backend/src/modules/admin/admin.controller.ts b/backend/src/modules/admin/admin.controller.ts index 411a9b5..cadecba 100644 --- a/backend/src/modules/admin/admin.controller.ts +++ b/backend/src/modules/admin/admin.controller.ts @@ -1,4 +1,5 @@ -import { Controller, Get, Param } from '@nestjs/common'; +import { CacheInterceptor, CacheKey, CacheTTL } from '@nestjs/cache-manager'; +import { Controller, Get, Param, UseInterceptors } from '@nestjs/common'; import { ApiOperation, ApiTags } from '@nestjs/swagger'; import { AdminService } from './admin.service'; @@ -10,6 +11,9 @@ export class AdminController { @ApiOperation({ description: 'Get admins from db', }) + @CacheKey('admins') + @CacheTTL({ ttl: 5 } as any) + @UseInterceptors(CacheInterceptor) @Get('get') async getAdmin() { return await this.adminService.getAdmins(); diff --git a/backend/src/modules/admin/admin.service.ts b/backend/src/modules/admin/admin.service.ts index 702e540..63f1bba 100644 --- a/backend/src/modules/admin/admin.service.ts +++ b/backend/src/modules/admin/admin.service.ts @@ -2,7 +2,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Admin } from 'libs/database/admin.entity'; import { Repository } from 'typeorm'; - @Injectable() export class AdminService { private readonly logger: Logger = new Logger(AdminService.name); @@ -18,7 +17,7 @@ export class AdminService { })); return result; } catch (error) { - this.logger.log(`[getAdmin] ${JSON.stringify({ error })}`); + this.logger.log(`[getAdmin] ${error}`); return []; } }