Zapamiętywanie wyników kosztownych funkcji
Buforuj wyniki funkcji na podstawie argumentów.
Zapamiętywanie wyników kosztownych funkcji to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 3 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 Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Beyond Whole Views
Sometimes only one slow helper is the problem, not the whole page. Memoization caches a function result keyed by its arguments.
The memoize Decorator
You wrap a function with @cache.memoize(). Same arguments return the stored result instead of recomputing it. 💡
@cache.memoize()
def heavy(n):
return slow_calc(n)Keyed by Arguments
Memoize builds the key from the arguments. heavy(2) and heavy(5) are cached separately, each remembering its own answer.
cached vs memoize
Use cached for views keyed by URL, and memoize for plain functions keyed by their inputs. They solve different layers.
Set a memoize Timeout
Just like views, you give memoize a timeout so results expire. After it passes, the next call recomputes and re-stores.
@cache.memoize(timeout=120)
def rates():
...Perfect for Pure Functions
Memoize shines on pure functions: same input always gives the same output, with no side effects to lose.
Avoid Caching Side Effects
Do not memoize a function that sends email or writes a row. On a cache hit the body is skipped, so the effect never runs.
Methods Need Care
For instance methods, the key includes self. Two objects cache separately, which is usually exactly what you want.
Drop One Memoized Result
You can evict a single entry with delete_memoized, passing the function and the exact arguments to clear.
cache.delete_memoized(rates)Clear by Argument
Pass arguments to delete_memoized to drop just that variant, leaving every other cached result untouched.
cache.delete_memoized(heavy, 5)Measure Before Memoizing
Only memoize what is actually slow. Profile first, because caching cheap work adds key overhead with little real gain.
Quick Check
You memoize a function that also logs each call to your database.
Recap: Memoization
You can memoize slow pure functions, key results by arguments, set timeouts, and evict with delete_memoized. 🎯
Często zadawane pytania
Czy lekcja „Zapamiętywanie wyników kosztownych funkcji” jest bezpłatna?
Tak — pełny tekst „Zapamiętywanie wyników kosztownych funkcji” 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 Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zapamiętywanie wyników kosztownych funkcji”?
Buforuj wyniki funkcji na podstawie argumentów. Ćwiczysz Flask 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ąć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask 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 3 z 4.
Ile czasu zajmuje lekcja „Zapamiętywanie wyników kosztownych funkcji”?
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 Flask Academy?
Tak. Każda lekcja Flask 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
- Konfiguracja Flask-Caching
- Buforowanie widoku za pomocą cached
- Zapamiętywanie wyników kosztownych funkcji
- Unieważnianie i wygaszanie wpisów pamięci podręcznej