РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpCaGv 88 of 201 menu
◀ ▶

Чтение значения из кэша в Nest

Страница списка должна показать заголовок, даже если в кэше ещё ничего не лежит. Пустой ответ менеджера нельзя отдавать клиенту как готовый текст.

Чтение идёт той же асинхронной операцией менеджера. Если значения нет, приходит undefined. Тогда подставляют короткую запасную фразу через оператор объединения с null.

Покажем на примере постов:

import { Inject, Injectable } from '@nestjs/common'; import { CACHE_MANAGER, Cache } from '@nestjs/cache-manager'; @Injectable() export class PostService { constructor( @Inject(CACHE_MANAGER) private cacheManager: Cache, ) {} async getBanner(): Promise<string> { const value = await this.cacheManager.get<string>('banner'); return value ?? 'Welcome'; } }

Контроллер отдаёт клиенту результат сервиса:

import { Controller, Get } from '@nestjs/common'; import { PostService } from './post.service.js'; @Controller('posts') export class PostController { constructor(private postService: PostService) {} @Get('banner') async getBanner(): Promise<string> { return this.postService.getBanner(); } }

Верните из WorkerController заголовок из кэша или короткую фразу по умолчанию, если записи ещё нет.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить