ビーカーキャッシュデコレータでデコレートする機能があります。この関数は、メインアプリにインポートされるモジュールにあります。
from caching import cache, my_cached_function
ここで、1つの関数で、装飾された関数を使用しました。
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()関数によって作成された新しいアイテムが考慮されるようにする必要があります。
問題のアプリケーションは、ボトルフレームワーク上で実行されるWebアプリケーションです。