Co to jest cache?
Autor: Redakcja Domeny.ForSale Opublikowano
W skrócie: Cache, czyli pamięć podręczna, przechowuje dane, które mogą być ponownie potrzebne, aby szybciej je udostępnić. Dzięki niej przeglądarka nie musi za każdym razem pobierać tych samych plików, a serwer ponownie wykonywać części obliczeń. Czasem jednak zapisane dane są nieaktualne — wtedy pomaga ich odświeżenie lub wyczyszczenie odpowiedniego cache.
Jak działa pamięć podręczna?
Gdy aplikacja potrzebuje określonych danych, może najpierw sprawdzić, czy ma je w pamięci podręcznej. Jeśli znajduje tam kopię, którą według przyjętych reguł może wykorzystać, odczytuje ją zamiast sięgać do źródła. To nazywa się trafieniem w cache. Jeśli kopii nie ma lub nie nadaje się do użycia, aplikacja pobiera albo oblicza dane ponownie.
Wyobraź sobie sklep internetowy, w którym przeglądasz kilka produktów. Logo sklepu, część ikon i plik określający wygląd strony są wspólne dla kolejnych podstron. Przeglądarka może zachować je po pierwszym pobraniu, zamiast ściągać ponownie przy każdym kliknięciu.
Cache nie musi znajdować się w pamięci RAM. Zależnie od zastosowania dane podręczne są zapisywane także na dysku albo na osobnym serwerze. Wspólny jest cel: ograniczyć czas dostępu do danych oraz pracę potrzebną do ich uzyskania.
Gdzie spotykasz cache na co dzień?
Pamięć podręczna działa na różnych poziomach. Rozróżnienie ich pomaga ustalić, dlaczego strona lub aplikacja nadal pokazuje starą wersję danych.
| Rodzaj cache | Co może przechowywać | Do czego służy |
|---|---|---|
| Przeglądarki | Obrazy, pliki stylów i skrypty | Ogranicza ponowne pobieranie zasobów strony |
| Aplikacji | Miniatury, pobrane materiały, wyniki zapytań | Przyspiesza wyświetlanie treści i powtarzalne operacje |
| Serwera | Gotowe strony lub wyniki obliczeń | Zmniejsza obciążenie systemu obsługującego witrynę |
| CDN | Kopie plików lub odpowiedzi strony | Dostarcza treści z rozproszonej sieci serwerów |
| DNS | Odpowiedzi zawierające m.in. adres IP domeny | Ogranicza ponawianie zapytań o adres serwera |
CDN to sieć serwerów pośredniczących w dostarczaniu treści użytkownikom. DNS jest natomiast systemem, który pozwala ustalić między innymi adres IP odpowiadający nazwie domeny. Cache DNS nie przechowuje wyglądu strony — zapamiętuje odpowiedzi dotyczące jej adresowania.
Procesory również mają własną pamięć podręczną, zapewniającą szybki dostęp do często używanych danych i instrukcji. Nie jest to jednak cache, który czyścisz w ustawieniach przeglądarki.
Dlaczego cache czasem pokazuje stare dane?
Kopia w pamięci podręcznej nie zawsze zmienia się jednocześnie ze źródłem. Jeżeli właściciel witryny podmieni grafikę, przeglądarka może jeszcze korzystać z wcześniej pobranego pliku. Podobnie serwer może zwracać zapisaną wersję strony zamiast generować ją na nowo.
Jednym ze sposobów kontrolowania aktualności jest TTL, czyli czas ważności wpisu w cache. Po jego upływie system może pobrać nowe dane lub sprawdzić, czy dotychczasowa kopia nadal jest aktualna. Samo wygaśnięcie ważności nie musi oznaczać natychmiastowego usunięcia pliku z dysku.
Drugim mechanizmem jest unieważnianie cache: oznaczenie zapisanej kopii jako nieaktualnej albo jej usunięcie po zmianie danych. Przy publikowaniu nowych plików strony stosuje się też wersjonowanie adresów, na przykład zmianę style.v1.css na style.v2.css. Nowy adres pozwala odróżnić nowy zasób od wcześniej zapisanej kopii.
Dane takie jak zawartość prywatnego konta czy koszyka wymagają szczególnej ostrożności. Cache współdzielony między użytkownikami nie powinien udostępniać jednej osobie treści przeznaczonych dla innej. To kwestia konfiguracji witryny, której nie rozwiązuje czyszczenie przeglądarki przez odwiedzającego.
Kiedy i jak wyczyścić cache?
Czyszczenie pamięci podręcznej ma sens, gdy strona wygląda nieprawidłowo, nie pokazuje opublikowanych zmian albo aplikacja korzysta z uszkodzonych plików tymczasowych. Nie jest potrzebne jako codzienny zabieg przyspieszający urządzenie. Po usunięciu kopii pierwsze otwarcie strony może potrwać dłużej i wymagać ponownego pobrania zasobów.
Jeśli podejrzewasz problem z cache strony, wykonaj kolejne kroki:
- Odśwież stronę. Jeśli to nie pomaga, użyj dostępnej w przeglądarce funkcji odświeżenia z pominięciem pamięci podręcznej. Zwykłe odświeżenie nie zawsze wymusza ponowne pobranie wszystkich plików.
- Sprawdź stronę w innej przeglądarce. Różnica może wskazywać na problem lokalny, choć przyczyną mogą być również rozszerzenia lub ustawienia.
- Wyczyść buforowane obrazy i pliki. Sprawdź zakres czasu oraz zaznaczone opcje. Nazwy pozycji zależą od przeglądarki; usuwanie wszystkich danych witryn może objąć także logowanie i ustawienia.
- Jeśli zarządzasz witryną, sprawdź cache serwera i CDN. Usunięcie lokalnych plików nie usuwa kopii przechowywanych przez te systemy.
Po zmianie adresu IP domeny znaczenie może mieć cache DNS. Jego wyczyszczenie na komputerze nie usuwa wpisów z pamięci serwerów DNS używanych przez operatora, dlatego nie gwarantuje natychmiastowego zobaczenia zmiany.
Cache, cookies i dane aplikacji to nie to samo
Cookies to małe porcje danych, które witryna może zapisać w przeglądarce, na przykład po to, by rozpoznawać sesję użytkownika. Cache służy przede wszystkim do ponownego wykorzystania zasobów. Wyczyszczenie samych buforowanych plików zwykle nie wylogowuje z serwisów, ale usunięcie cookies może to zrobić.
W ustawieniach aplikacji opcja „wyczyść dane” jest zazwyczaj szersza niż „wyczyść pamięć podręczną”. Może usunąć ustawienia, logowanie lub lokalnie zapisane materiały. Przed jej użyciem przeczytaj komunikat systemu i upewnij się, że ważne pliki są zapisane lub zsynchronizowane.
Gdy problem dotyczy jednej strony, zacznij od odświeżenia i usunięcia tylko jej buforowanych zasobów, jeśli przeglądarka udostępnia taką możliwość. Nie kasuj wszystkich danych przeglądania, zanim sprawdzisz mniej inwazyjne rozwiązanie.
Zobacz też: Co to jest CDN?
