У меня есть функция, которая украшена декоратором кеша мензурки. Функция находится в модуле, из которого она импортируется в основное приложение.
from caching import cache, my_cached_function
Теперь в одной функции я использовал оформленную функцию:
def index():
data = my_cached_function() # no args
В другой функции я пытаюсь сделать кеш недействительным:
def new_item():
cache.invalidate(my_cached_function, 'namespace')
Поскольку кеш Beaker настроен на 'cache.type': 'memory'
, я также попытался:
def new_item():
cache.invalidate(my_cached_function, 'namespace', type='memory')
Что я здесь не так делаю?
ПРИМЕЧАНИЯ
В типичном сценарии я бы вызывал index () большую часть времени. Мне нужно очищать кеш при каждом вызове new_item (), чтобы при вызове index () учитывались новые элементы, созданные функцией new_item ().
Рассматриваемое приложение - это веб-приложение, работающее поверх фреймворка бутылки.