I am trying to setup caching on a web server I have built using Pyramid. I am using pyramid_beaker, which creates a back-end to use Beaker for caching.
I have been using cached region decorators to implement the caching.
A sample cached region looks like this:
def getThis(request):
def invalidate_data(getData,'long_term',search_term):
region_invalidate(getData,'long_term',search_term)
@cached_region('long_term')
def getData(search_term):
return response
try:
request.matchdict['refresh']
except:
pass
search_term = request.matchdict['searchterm']
return getData(search_term)
Now that the caching works fine and I can trigger cache refresh on each region, I was wondering how I might refresh ALL regions?
Beaker has a dict object of all CacheManagers that can be used to iterate over to clear each:
from beaker.cache import cache_managers
for _cache in cache_managers.values():
_cache.clear()
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