Django-Memcached问题

Django-Memcached问题,django,memcached,Django,Memcached,我已经在我管理的服务器上启用了memcached。我们有几页显示超过1000条记录,这是必要的。有了memcached,它几乎可以立即加载,这很好。然而,有时该页面应该包含零条记录,尽管当我们导航到该页面时,它仍然显示所有1000条记录。相反,有时它应该显示1000条记录,但由于页面用于显示零条记录,因此页面从内存加载,结果显示零条记录 我只是想知道怎么处理这件事。基本上,如何让memcache系统知道请求何时实际针对不同的数据集,而不仅仅是加载缓存页面 以下是我的settings.py文件的相

我已经在我管理的服务器上启用了memcached。我们有几页显示超过1000条记录,这是必要的。有了memcached,它几乎可以立即加载,这很好。然而,有时该页面应该包含零条记录,尽管当我们导航到该页面时,它仍然显示所有1000条记录。相反,有时它应该显示1000条记录,但由于页面用于显示零条记录,因此页面从内存加载,结果显示零条记录

我只是想知道怎么处理这件事。基本上,如何让memcache系统知道请求何时实际针对不同的数据集,而不仅仅是加载缓存页面

以下是我的settings.py文件的相关行:

  CACHES = {
      'default': {
          'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
          'LOCATION': '127.0.0.1:11211',
      }
  }
再往下看,中间产品:

MIDDLEWARE_CLASSES = (
     'django.middleware.cache.UpdateCacheMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'django.middleware.cache.FetchFromCacheMiddleware',
 )
有什么想法吗?我做错了吗


谢谢

只是看看Django文档的开发版本

根据你的。。。这两个中间件类是延迟的缓存方式——如果不将默认值设置为600秒,它会将每个页面缓存数秒

您可以这样做,并让它在该视图/方法中确定数据是否已更改,并相应地显示它。不确定您如何确定数据更改/应该更改,尽管我相信您希望使用这种类型的缓存而不是缓存中间件


我最近才了解了如何使用django缓存以及他们的帮助。

谢谢您的回复。我想主要的问题是试图确定系统何时应该重新加载页面或只是显示缓存的版本。我认为,无论是lazy方法还是per-view方法,我都错过了这一步。一、 我也是Django缓存新手,所以这是一个相当多的学习,就像所有编程一样。