Django app_cache_ready方法在开发时返回True,在生产时返回False

Django app_cache_ready方法在开发时返回True,在生产时返回False,django,caching,middleware,django-middleware,Django,Caching,Middleware,Django Middleware,我不知道原因是什么 在我的开发机器上,完全相同的django项目正常运行,而在生产环境中,自定义中间件代码app_cache_ready()方法始终返回False。如果忽略并绕过它,则cache.set不会缓存对象 我的开发环境使用runserver来启动服务器,而生产环境使用Apache和带有virtualhost指令的mod_wsgi 有人知道问题出在哪里吗?我已经花了几个小时没有成功 提前谢谢 以下是无法再次缓存的简化代码: from django.conf import settings

我不知道原因是什么

在我的开发机器上,完全相同的django项目正常运行,而在生产环境中,自定义中间件代码app_cache_ready()方法始终返回False。如果忽略并绕过它,则cache.set不会缓存对象

我的开发环境使用runserver来启动服务器,而生产环境使用Apache和带有virtualhost指令的mod_wsgi

有人知道问题出在哪里吗?我已经花了几个小时没有成功

提前谢谢

以下是无法再次缓存的简化代码:

from django.conf import settings
from django.contrib.sites.models import Site
from django.http import HttpResponseRedirect, Http404
from django.core.cache import cache
from django.db.models.loading import app_cache_ready
from django.utils.cache import patch_vary_headers

class MyMiddleware(object):

    def process_request(self, request):

        key='kuku'
        val=cache.get(key)
        if not val:
            logger.warn('Cached key is not available')
            cache.set(key,5)
        else:
            logger.warn('Cached key is %s' % str(val))

对于后续调用,我看到always Cached key不可用。

请显示自定义中间件的代码。现在更奇怪的是:当我将以下日志放在方法顶部时,缓存大部分时间开始工作。任何赛车条件?:“logger.warn('缓存是%s'%str(缓存))”缓存存储在内存中的什么位置?Apache通常在多进程配置中运行,因此请求可能不会返回到同一进程。因此,请详细说明您配置了Django要使用的缓存系统,以及您使用的mod_wsgi模式和配置。