CacheModule

NestJS 🟡 Mid

Définition

Module de cache intégré (@nestjs/cache-manager) qui supporte le cache en mémoire ou via des stores externes (Redis, via @keyv/redis). Utilise des interceptors pour cacher les réponses automatiquement. Le store repose désormais sur Keyv : get() renvoie undefined si l'entrée est absente, alors que cache-manager v6 renvoyait null pour le même cas.

Analogie

Comme un post-it avec les réponses fréquentes : plus rapide que de recalculer a chaque fois.

Exemple de code

@Module({
  imports: [CacheModule.register({
    store: redisStore,
    host: 'localhost',
    ttl: 60,
  })],
})
export class AppModule {}

@UseInterceptors(CacheInterceptor)
@Get()
findAll() { return this.service.findAll(); }

Cas d'usage

Cacher les réponses de endpoints lourds comme les listes avec pagination pour réduire la charge DB.

Anti-pattern

Cacher des données sensibles ou mutables sans stratégie d'invalidation.
#core#keyv

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre