I am using Flask cache in my API in python.
Currently I am using the decorator @app.cache.memoize(cache_memoize_value)
and I flush it by calling app.cache.delete_memoized(view)
The problem is that with memoize
it will be cached for n
views and not for a specific amount of time. If I want to specify a timeout for the cache I need to use the decorator @app.cache.cached(timeout=300)
and clear it with app.cache.clear()
. However, this clear method will clear everything and not only a specific view.
How can I only clear a specific view while using the cached decorator?
cache.cached()
, use cache.delete()
to delete specific cache, pass the cache key (default to view/<request.path>
).cache.memoize()
, use cache.delete_memoized()
to delete specific cache, pass the cache key (default to function name with or without args).cache.clear()
to delete all the cache data.It's in fact pretty easy and I should have tried this before.
Like for the cached decorator, you can specify a value in the memoized decorator.
But instead of doing this:
@app.cache.memoize(cache_memoize_value)
You need to do this
@app.cache.memoize(timeout=cache_memoize_value)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With