我不知道可能是什么原因。
在我的开发机器上,完全相同的 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))
在随后的调用中,我总是看到缓存键不可用。