Opdracht: schrijf een decorator die het resultaat van een functie voor een bepaalde tijd (ttl) in de cache opslaat. TTL wordt ingesteld in seconden (int).
1) beschrijf het basis schema van deze code met alle mogelijke randgevallen.
2) (optioneel) implementeer in code
import time
# implementatie
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()}')