Görev: Bir fonksiyonun sonucunu belirli bir süre (ttl) boyunca önbelleğe alan bir dekoratör yazın. TTL, saniye cinsinden (int) ayarlanır.
1) Bu kodun temel şemasını tüm olası köşe durumlarıyla açıklayın.
2) (isteğe bağlı) kodda uygulayın
import time
# uygulama
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()}')