Кэш ответа страницы в Nest
Текст списка собирают при каждом обращении к адресу, хотя минутами он не меняется. Повторять ту же работу в методе страницы не нужно, если ответ можно отдать из кэша.
Перехватчик из пакета кэша запоминает тело ответа для GET-запроса. Его вешают на один метод, а ключ берут из пути запроса без отдельной настройки, если адрес уже однозначно описывает страницу.
Покажем на примере постов:
import { CacheInterceptor } from '@nestjs/cache-manager';
import { Controller, Get, UseInterceptors } from '@nestjs/common';
@Controller('posts')
export class PostController {
@Get()
@UseInterceptors(CacheInterceptor)
getPosts(): string {
return 'All posts';
}
}
Модуль кэша должен быть подключён в том же модуле, что и контроллер:
import { Module } from '@nestjs/common';
import { CacheModule } from '@nestjs/cache-manager';
import { PostController } from './post.controller.js';
@Module({
imports: [CacheModule.register()],
controllers: [PostController],
})
export class AppModule {}
Закэшируйте ответ страницы списка
в WorkerController через
перехватчик, опираясь на адрес
страницы списка.