Úkol: napište dekorátor, který ukládá výsledek funkce do cache na stanovenou dobu (ttl). TTL je nastavena ve vteřinách (int).
1) popište základní schéma tohoto kódu se všemi možnými krajními případy.
2) (volitelné) implementujte v kódu
import time
# implementace
pass
# print(f"Func in cache: {}")
# print(f"Time is valid: {}")
@ttl_cache(ttl=1)
def multiplier(a, b, **kwargs):
return a * b
print(f'now={time.time()}')
print(f'result={multiplier(5, 5, x=1)}; time={time.time()}')
print(f'result={multiplier(5, 5, x=1)}; time={time.time()}')
print(f'result={multiplier(2, 5, x=1)}; time={time.time()}')
time.sleep(2)
print(f'result={multiplier(5, 5, x=1)}; time={time.time()}')