Sarcină: scrieți un decorator care cachează rezultatul unei funcții pentru o perioadă specificată (ttl). TTL este setat în secunde (int).
1) descrie schema de bază a acestui cod cu toate cazurile limită posibile.
2) (opțional) implementează în cod
import time
# implementare
pass
# print(f"Funcție în cache: {}")
# print(f"Timpul este valid: {}")
@ttl_cache(ttl=1)
def multiplier(a, b, **kwargs):
return a * b
print(f'now={time.time()}')
print(f'rezultat={multiplier(5, 5, x=1)}; timp={time.time()}')
print(f'rezultat={multiplier(5, 5, x=1)}; timp={time.time()}')
print(f'rezultat={multiplier(2, 5, x=1)}; timp={time.time()}')
time.sleep(2)
print(f'rezultat={multiplier(5, 5, x=1)}; timp={time.time()}')