Caching Declarativ cu CacheModule și CacheInterceptor în NestJS

core NestJS 10.x / @nestjs/cache-manager Q&A / Distribuie cod

Reducerea latenței și a încărcării bazei de date prin caching automat al răspunsurilor în memorie sau pe servere Redis.

Sintaxă
@UseInterceptors(CacheInterceptor) / @CacheKey('...') @CacheTTL(60)

Pachetul @nestjs/cache-manager oferă o soluție completă de caching ce poate fi aplicată fie automat la nivel de rută prin CacheInterceptor, fie programatic prin injectarea serviciului CACHE_MANAGER.

Decoratoarele @CacheKey('cheie_custom') și @CacheTTL(30) permit reglarea fină a duratei de viață (Time-To-Live) a răspunsurilor salvate în cache.

Exemplu: Activare cache automat pe un controller de produse
import { Controller, Get, UseInterceptors } from '@nestjs/common';
import { CacheInterceptor, CacheKey, CacheTTL } from '@nestjs/cache-manager';

@Controller('catalog')
@UseInterceptors(CacheInterceptor) // Toate cererile GET vor fi salvate în cache automat!
export class CatalogController {
  @Get('top-selling')
  @CacheKey('top_selling_products')
  @CacheTTL(120) // 120 de secunde
  async getTopSelling() {
    console.log('Interogare grea SQL executată...');
    return [{ id: 1, name: 'Produs Vedetă' }];
  }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Caching Declarativ cu CacheModule și CacheInterceptor

Ai o nelămurire despre utilizarea comenzii Caching Declarativ cu CacheModule și CacheInterceptor sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.