Angular 19 SSR/hybrid rendering engine: cross-request cache

Abierto
#30,305 4 comentarios 29 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
angular, node.js, typescript

Línea de trabajo

No se nombran archivos, pruebas ni puntos de entrada concretos. Empieza rastreando la ruta de solicitud de Angular SSR/hybrid rendering en el servidor Node y revisando cómo se usa global.fetch; define el alcance de la caché, su expiración y el comportamiento de Cache-Control antes de la implementación. Para darlo por terminado se necesitarían un diseño acordado, una implementación y cobertura para el almacenamiento en caché entre solicitudes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area: @angular/ssr feature feature: under consideration
Command

run

Description

It would be a useful optimization to cache some requests during SSR across requests to the SSR server. Some of the API requests have infrequently changing data. Pulling the response from cache would save a lot of network time, especially if the response is big.

Flow:
User 1 makes makes request to Angular SSR server -> SSR makes requests to API in order to gather data for rendering -> request gets cached -> user 1 receives an html response.
User 2 makes request to Angular SSR server -> SSR server would make API request in order to gather data, but instead pulls the response from the cache -> user 2 receives an html response.

One possible implementation would be to consider Cache-Control header and cache the response in the server for the time specified.

If this will not be considered - what would you say is the best approach in order to optimize these kind of API requests? Perhaps a wrapper around global.fetch in Node server (where Angular engine runs) which would monitor every API request and store in some local cache?

Describe the solution you'd like

No response

Describe alternatives you've considered

No response

Lenguaje dominante
TypeScript
Estrellas
27k
Forks
11.8k
Merge medio
16 h 35 min
PR fusionados (30 d)
176

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de angular/angular-cli

Todos los issues de angular/angular-cli

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.