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