我在我的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,虽然。 –