Tarea: escribe un decorador que almacene en caché el resultado de una función durante un tiempo determinado (ttl). TTL se establece en segundos (int).
1) describe el esquema básico de este código con todos los posibles casos límite.
2) (opcional) implementa en código
import time
# implementación
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()}')