0Pricing
React Academy · Lekcja

Strategie buforowania aplikacji React na brzegu sieci

Użyją Państwo nagłówków Cache-Control, Cloudflare KV i R2 do buforowania wyrenderowanych stron oraz zasobów statycznych na brzegu sieci.

Strategie buforowania aplikacji React na brzegu sieci to bezpłatna lekcja React Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej React Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs React Academy zawiera 4 lekcji w sumie.

Nagłówki Cache-Control dla cache’owania na brzegu

Nagłówek odpowiedzi Cache-Control określa, jak długo Cloudflare (i inne CDN-y) przechowują w pamięci podręcznej odpowiedzi SSR. Najważniejsze dyrektywy to: max-age (pamięć podręczna przeglądarki), s-maxage (czas przechowywania w pamięci podręcznej CDN-u/współdzielonej) oraz stale-while-revalidate (serwowanie nieaktualnej treści podczas ponownej walidacji w tle).

s-maxage a max-age

s-maxage jest respektowane przez współdzielone pamięci podręczne (CDN-y), a max-age dotyczy pamięci podręcznych przeglądarek. W przypadku stron SSR zazwyczaj należy użyć s-maxage=60 (CDN przechowuje dane przez 60 sekund) i max-age=0 (przeglądarka zawsze ponownie sprawdza aktualność), aby wszyscy użytkownicy otrzymywali odpowiednio świeżą treść z pamięci podręcznej na brzegu.

Cache’owanie stron SSR za pomocą stale-while-revalidate

Dodanie stale-while-revalidate=30 do nagłówka Cache-Control informuje Cloudflare, aby natychmiast zwracał stronę z pamięci podręcznej, jednocześnie pobierając świeżą wersję w tle. Użytkownicy zawsze otrzymują szybką odpowiedź; maksymalny czas nieaktualności wynosi s-maxage + stale-while-revalidate sekund.

Spersonalizowane strony: nagłówek Vary

Treści spersonalizowanych (na podstawie sesji użytkownika lub lokalizacji) nie wolno udostępniać z pamięci współdzielonej niewłaściwemu użytkownikowi. Nagłówek Vary: Cookie informuje Cloudflare, aby traktował każdą unikatową wartość Cookie jako osobny wpis w pamięci podręcznej, zapobiegając udostępnieniu danych jednego użytkownika innemu użytkownikowi.

Pomijanie pamięci podręcznej dla uwierzytelnionych żądań

Typowy wzorzec polega na sprawdzeniu cookie sesji w Workerze przed podjęciem decyzji, czy użyć pamięci podręcznej. Jeśli cookie sesji jest obecne, należy całkowicie pominąć pamięć podręczną i wygenerować spersonalizowaną odpowiedź. Jeśli cookie sesji nie ma, strona jest publiczna i można ją dostarczyć z pamięci podręcznej.

Cloudflare KV: brzegowy magazyn klucz-wartość

Cloudflare KV to globalnie rozproszony magazyn klucz-wartość, który przechowuje dane blisko użytkowników. W KV można buforować wyrenderowany HTML — przechowywać wyrenderowaną stronę jako wartość z TTL, aby kolejne żądania odczytywały ją z KV na brzegu zamiast ponownie renderować ją za pomocą React.

Wydajność odczytu i zapisu w KV

Odczyty z KV są szybkie, ponieważ dane są replikowane do brzegowego PoP obsługującego żądanie — typowe opóźnienie odczytu wynosi poniżej 5 ms. Zapisy w KV wykorzystują jednak spójność ostateczną: zapis w jednym regionie jest propagowany do wszystkich globalnych PoP-ów w ciągu 60 sekund, co oznacza, że niektórzy użytkownicy mogą przez krótki czas widzieć nieaktualne dane.

Cloudflare R2: magazyn obiektów dla większych zasobów

Cloudflare R2 to zgodna z S3 usługa magazynowania obiektów, bez opłat za transfer wychodzący. Nadaje się do większych zasobów, które nie mieszczą się w KV: modułów WASM, wstępnie wyrenderowanych obrazów OG oraz dużych zbiorów danych JSON. Workery uzyskują dostęp do R2 za pośrednictwem bindingów, podobnie jak do KV.

Tagi pamięci podręcznej do szczegółowego unieważniania

Cloudflare Enterprise obsługuje tagi pamięci podręcznej: odpowiedź można oznaczyć nagłówkiem Cache-Tag: product-42, a gdy produkt 42 się zmieni, wywołać API Cloudflare w celu usunięcia wszystkich odpowiedzi oznaczonych tagiem product-42. Umożliwia to precyzyjne unieważnianie pamięci podręcznej bez czyszczenia całej pamięci podręcznej.

Obsługa unieważniania pamięci podręcznej podczas wdrażania

Po wdrożeniu nowej wersji Workera istniejący HTML w pamięci podręcznej może odwoływać się do starych nazw plików bundli JS. Solidna strategia polega na uwzględnieniu wersji wdrożenia w kluczach pamięci podręcznej albo na użyciu wersjonowanych nazw plików bundli (dzięki haszowaniu zawartości w Vite), aby stary HTML zawsze odwoływał się do prawidłowych, zbuforowanych plików JS.

Implementacja pamięci podręcznej HTML opartej na KV

Worker buforujący HTML SSR w KV działa według następującego wzorca: należy obliczyć klucz pamięci podręcznej na podstawie adresu URL (i opcjonalnie locale), sprawdzić, czy w KV znajduje się wpis, a jeśli tak, natychmiast zwrócić zbuforowany HTML. W przypadku braku wpisu należy wyrenderować stronę za pomocą React, zapisać wynik w KV z TTL, a następnie zwrócić świeżo wyrenderowany HTML.

Model spójności Cloudflare KV

Jaki model spójności stosuje Cloudflare KV podczas zapisu?

Podsumowanie lekcji

Cache’owanie aplikacji React na brzegu łączy kilka strategii: s-maxage w Cache-Control do cache’owania publicznych stron przez CDN, Vary: Cookie zapobiegające udostępnianiu spersonalizowanych odpowiedzi, KV do cache’owania wyrenderowanego HTML na brzegu oraz tagi pamięci podręcznej do szczegółowego unieważniania. Model spójności ostatecznej KV oznacza, że propagacja zapisu trwa do 60 sekund — należy odpowiednio zaprojektować wartości TTL i strategię unieważniania.

Często zadawane pytania

Czy lekcja „Strategie buforowania aplikacji React na brzegu sieci” jest bezpłatna?

Tak — pełny tekst „Strategie buforowania aplikacji React na brzegu sieci” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu React Academy, przejdź na CoddyKit PRO. Kurs React Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Strategie buforowania aplikacji React na brzegu sieci”?

Użyją Państwo nagłówków Cache-Control, Cloudflare KV i R2 do buforowania wyrenderowanych stron oraz zasobów statycznych na brzegu sieci. Ćwiczysz React Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć React Academy?

Nie wymagamy żadnego doświadczenia. React Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Strategie buforowania aplikacji React na brzegu sieci”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji React Academy?

Tak. Każda lekcja React Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym jest renderowanie na brzegu sieci i dlaczego ma znaczenie
  2. React na Cloudflare Workers z Hono
  3. Strumieniowanie SSR z brzegu sieci
  4. Strategie buforowania aplikacji React na brzegu sieci
← Powrót do React Academy