2
我有一個用燒杯緩存裝飾器裝飾的功能。該函數位於將其導入主應用程序的模塊中。現在如何使失效的燒杯緩存工作?
from caching import cache, my_cached_function
,在一個功能我用的裝飾功能:
def index():
data = my_cached_function() # no args
在另一個函數,我嘗試緩存失效:
def new_item():
cache.invalidate(my_cached_function, 'namespace')
由於燒杯緩存配置與'cache.type': 'memory'
,我也試過:
def new_item():
cache.invalidate(my_cached_function, 'namespace', type='memory')
我在這做錯了什麼?
注意
在一般情況下,我會打電話指數()的大部分時間。每當調用new_item()時我都需要清除緩存,以便index()調用將考慮new_item()函數創建的新項目。
有問題的應用程序是在瓶框架上運行的Web應用程序。
它在理論上被稱爲my_cached_function之前。當用戶創建一個新項目時,會調用new_item()函數,這會使緩存失效。然後,他訪問索引頁面,在該頁面中調用裝飾函數。索引頁面應顯示包含新項目的項目列表,但不是。 – hayavuk 2011-01-26 11:19:48