← До списку лабораторних по Python
Повний опис / сценарій лабораторної:
Meta: навчитися кешувати результати чистих функцій де це безпечно. Krok 1. Створити файл src/app/cache33.py. Komandi: cd ~/python_lab1/src; touch app/cache33.py Krok 2. Додати повільну функцію яка імітує обчислення через sleep. Poyasnennya: наприклад pow slow з паузою у одну секунду. Krok 3. Використати декоратор functools lru cache поверх цієї функції. Krok 4. Викликати функцію з однаковими аргументами кілька разів і заміряти час. Krok 5. Перевірити статистику кешу через атрибут cache info. Krok 6. Додати виклик cache clear і переконатися що після цього час знову зростає. Krok 7. Занотувати обмеження кешу по розміру та типами аргументів. Krok 8. Продумати приклади функцій у сервісі де lru cache дасть виграш, наприклад довгі запити до конфіг сервісу. Krok 9. Порівняти такий кеш з зовнішнім кешем типу redis за можливостями і складністю. Krok 10. Mini zvit. Zavdannya: опиши критерії вибору функцій які можна безпечно кешувати.