我在我的django項目中緩存了一些模型的一堆查詢。看起來,緩存本身正在工作,但是當我想通過添加一個新的模型對象來進行測試時,我注意到在模型創建之後,查詢列表被更新爲包含新模型,這應該是不正確的,因爲高速緩存超時設置爲1個小時。memcached和django緩存混淆
我們必須等待1小時才能看到新模型?這裏是代碼:
def home(request, filterBy = 'all', sortBy = 'popularity'):
if not cache.get('home' + filterBy + sortBy):
models = Model.objects.with_rankings(filterBy, sortBy, request)
cache.set('home' + filterBy + sortBy, models, 3600) # 1 hour
else:
models = cache.get('home' + filterBy + sortBy)
謝謝。
緩存通常是關閉的。你正在運行memcached守護進程嗎? settings.py中的緩存設置是什麼樣子的? –
調試是真實的,緩存被daemonized,雖然。 –