Ответ 1
Beaker имеет объект dict всех CacheManagers, который может использоваться для повторения для каждого из них:
from beaker.cache import cache_managers
for _cache in cache_managers.values():
_cache.clear()
Я пытаюсь настроить кеширование на веб-сервере, который я создал с помощью Pyramid. Я использую pyramid_beaker, который создает back-end для использования Beaker для кэширования.
Я использую кешированные декодеры областей для реализации кэширования.
Пример области кэширования выглядит следующим образом:
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)
Теперь, когда кеширование работает нормально, и я могу запустить обновление кеша в каждом регионе, мне было интересно, как я могу обновить ВСЕ регионы?
Beaker имеет объект dict всех CacheManagers, который может использоваться для повторения для каждого из них:
from beaker.cache import cache_managers
for _cache in cache_managers.values():
_cache.clear()
Если вы сохранили файл, вы, возможно, просто удалите папку, содержащую все кеши. Это, вероятно, не лучшее решение, но оно должно быть довольно быстрым и эффективным.