Aufgabe: Schreiben Sie einen Decorator, der das Ergebnis einer Funktion für eine bestimmte Zeit (ttl) zwischenspeichert. TTL ist in Sekunden (int) festgelegt.
1) Beschreiben Sie das Grundschema dieses Codes mit allen möglichen Randfällen.
2) (optional) implementieren Sie in Code
import time
# Implementierung
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()}')