Bộ nhớ cache của trình duyệt và Bộ nhớ cache dữ liệu của Next.js chỉ được thêm vào dịch vụ công cộng khi cần thiết.
Bộ nhớ cache của trình duyệt được sử dụng với createCsrCache của Core, và chỉ thêm /next's callApiSsrCache khi cần bộ nhớ cache dữ liệu của máy chủ Next.js.
Bộ bao bọc cache cũng là một phần của commonService.
Mã callApiClientCache/callApiServerCache trên trang này chỉ giải thích phần cache của bộ chuyển đổi HTTP chung của dự án. Dịch vụ được tạo có thể được cấu hình để nhập hàm này, vì vậy nếu bạn xem cấu trúc rxjsHttpService.ts/commonService.ts trước, vị trí và vai trò của từng bộ bao bọc sẽ rõ ràng hơn.
Bộ nhớ cache CSR (bộ nhớ cache phía khách).
createCsrCache<CacheName>()Cung cấp callApiCsrCache(callApiFn, serviceArgs, cacheOptions) và removeCsrCache(cacheName).
Trong môi trường máy chủ, không tạo bản đồ cache CSR mà gọi trực tiếp callApi. Trong trình duyệt, chia sẻ kết quả Observable của cùng một khóa cache bằng shareReplay.
Bộ chuyển đổi Next.js: callApiSsrCache.
Trợ giúp SSR sử dụng next/cache(unstable_cache) của Next.js. Nếu là GET và cacheTime > 0, sử dụng force-cache + revalidate, các yêu cầu khác sẽ được thực hiện với no-store.
- Có thể tiêm Cookie/Authorization cho từng yêu cầu bằng headersProvider.
- Nếu có onServer401 ở mã 401, nó sẽ được thực thi.
Không cache dữ liệu theo người dùng
Khi gộp trình duyệt/máy chủ thành một bộ bao bọc dự án.
Trong dịch vụ chung, có thể phân nhánh giữa trình duyệt sử dụng createCsrCache và máy chủ sử dụng callApiSsrCache. Đây là mẫu cấu hình dự án và không phải là cấu trúc bắt buộc của Core.
commonService.ts
tscommonService.ts
tsKhi sử dụng bộ bao bọc cache trong dịch vụ tạo tự động, chỉ kết nối bộ bao bọc này với các endpoint cần chức năng cache, phần còn lại sử dụng callApi thông thường.