Sobes.tech

Python

Hoe zou een asynchrone TTL-cache moeten werken als deze toegang heeft tot een externe Redis-cache die langzaam kan reageren?

30

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()}')

29
/5