managing-api-cache
Inteligentne cachowanie odpowiedzi API z Redis, Memcached i CDN — przyspiesz swoje API
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do zarządzania cachowaniem API z obsługą Redis, Memcached i magazynów w pamięci. Implementujesz generowanie kluczy cache, zarządzanie TTL, strategie unieważniania cache oraz nagłówki HTTP. Wspiera wzorce read-through, write-through i cache-aside z unieważnianiem opartym na tagach i zachowaniem stale-while-revalidate. Idealny do optymalizacji wydajności API poprzez zmniejszenie obciążenia backendu i czasu odpowiedzi.
Jak używać
Zainstaluj wymaganą bibliotekę klienta cache: ioredis dla Node.js, redis-py dla Pythona lub Lettuce dla Javy. Upewnij się, że masz dostęp do instancji Redis 6+ lub Memcached dla deploymentów wieloinstancyjnych.
Przeanalizuj charakterystykę swoich endpointów API, aby sklasyfikować je na trzy kategorie: w pełni cachowalne (dane statyczne), warunkowo cachowalne (dane specyficzne dla użytkownika) oraz nigdy nie cachowalne (mutacje, dane w czasie rzeczywistym). Użyj Read i Grep do przeglądu kodu.
Zaimplementuj middleware generowania kluczy cache, który tworzy deterministyczne klucze na podstawie metody HTTP, ścieżki, posortowanych parametrów zapytania i istotnych nagłówków takich jak Accept czy hash Authorization dla cache'ów specyficznych dla użytkownika.
Zbuduj middleware cache-aside, które sprawdza cache przed wykonaniem handlera. Jeśli odpowiedź jest w cache, zwraca ją z nagłówkiem X-Cache: HIT; w przeciwnym razie wykonuje handler, cachuje wynik i zwraca z X-Cache: MISS.
Skonfiguruj TTL (time-to-live) dla każdej kategorii endpointów: długie TTL (1 godzina) dla danych referencyjnych, średnie TTL (5-15 minut) dla danych użytkownika i krótkie TTL (1 minuta) dla danych quasi-statycznych.
Opcjonalnie skonfiguruj CDN z obsługą cache control (CloudFront, Cloudflare, Fastly) do cachowania na krawędziach sieci, a następnie monitoruj wskaźniki trafień i chybień cache oraz szybkość eksmisji, aby dostroić strategie cachowania.