0

我不知道可能是什么原因。

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

我的开发环境使用 runserver 来启动服务器,而生产环境使用带有 virtualhost 指令的 Apache 和 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))

在随后的调用中,我总是看到缓存键不可用。

4

0 回答 0