Compartilhe a mesma solicitação no navegador por um tempo.
O cache do navegador é usado com createCsrCache do Core, e o callApiSsrCache de /next é adicionado apenas quando o cache de dados do servidor Next.js é necessário.
O cache wrapper também é parte do commonService.
O código callApiClientCache/callApiServerCache desta página explica apenas a parte de cache do adaptador HTTP compartilhado do projeto. O serviço gerado pode ser configurado para importar essa função, então é mais claro ver a posição e o papel de cada wrapper ao primeiro olhar a estrutura completa de rxjsHttpService.ts/commonService.ts.
Cache CSR (cache do cliente)
createCsrCache<CacheName>()fornece callApiCsrCache(callApiFn, serviceArgs, cacheOptions) e removeCsrCache(cacheName).
No ambiente do servidor, não cria um mapa de cache CSR e chama o callApi original. No navegador, compartilha o resultado Observable da mesma chave de cache com shareReplay.
Adaptador Next.js: callApiSsrCache
É um helper SSR que usa next/cache (unstable_cache) do Next.js. Se for GET e cacheTime > 0, usa force-cache + revalidate, e outras requisições são executadas com no-store.
- Você pode injetar Cookie/Authorization por requisição com headersProvider.
- Se houver onServer401 em 401, será executado.
Não cache dados específicos do usuário
Quando você agrupa navegador/servidor em um único wrapper de projeto
No serviço compartilhado, o navegador pode ser agrupado para usar createCsrCache e o servidor para usar callApiSsrCache. Isso é um padrão de configuração de projeto e não é uma estrutura obrigatória do Core.
commonService.ts
tscommonService.ts
tsQuando usar o wrapper de cache no serviço gerado automaticamente, conecte esse wrapper apenas aos endpoints que precisam da funcionalidade de cache, e use o callApi normal para os demais.