2016-03-23 10 views
5

Sto usando la cache del flask nella mia API in python.Cache del pallone, equivalente di delete_memoized per clear

Attualmente sto usando il decoratore @app.cache.memoize(cache_memoize_value) e sciacquare chiamando app.cache.delete_memoized(view)

Il problema è che con memoize verrà memorizzato nella cache per n di vista e non per un determinato periodo di tempo. Se voglio specificare un timeout per la cache ho bisogno di usare il decoratore @app.cache.cached(timeout=300) e cancellarlo con app.cache.clear(). Tuttavia, questo metodo chiaro cancellerà tutto e non solo una vista specifica.

Come è possibile cancellare una vista specifica mentre si utilizza il decoratore memorizzato nella cache?

+0

In realtà, ho avuto lo stesso problema. C'è una funzione, 'delete', ma l'api dice' delete (* args, ** kwargs) Funzione proxy per l'oggetto cache interna. ' – tim

risposta

2

È in effetti piuttosto semplice e avrei dovuto provarlo prima. Come per il decoratore memorizzato nella cache, è possibile specificare un valore nel decoratore memoized. Ma invece di fare questo: @app.cache.memoize(cache_memoize_value)

Hai bisogno di fare questo @app.cache.memoize(timeout=cache_memoize_value)

+0

Sai come' cancellare' una cache spercific, se voglio mettere in cache le viste – tim