Tâche : écrivez un décorateur qui met en cache le résultat d'une fonction pendant une durée déterminée (ttl). TTL est défini en secondes (int).
1) décrivez le schéma de base de ce code avec tous les cas limites possibles.
2) (optionnel) implémentez en code
import time
# implémentation
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()}')