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

Хранилище Redis для кэша в Nest

Несколько экземпляров приложения на NodeJS не делят память одного процесса. Запись, сделанная на одном узле, на другом не видна, пока кэш не вынести наружу.

cache-manager опирается на Keyv, для Redis ставят пакет @keyv/redis и подключают хранилище через асинхронную регистрацию модуля. Адрес сервера передают в фабрику строкой подключения.

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

npm install @keyv/redis cacheable

Укажем Redis как единственное хранилище в настройке модуля:

import { Module } from '@nestjs/common'; import { CacheModule } from '@nestjs/cache-manager'; import { createKeyv } from '@keyv/redis'; import { PostController } from './post.controller.js'; @Module({ imports: [ CacheModule.registerAsync({ useFactory: async () => ({ stores: [createKeyv('redis://localhost:6379')], }), }), ], controllers: [PostController], }) export class AppModule {}

Подключите кэш через Redis в корневом модуле с WorkerController.

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