ajax - django memcached 和 ajax 请求

标签 ajax django memcached

我已经为我的 django 应用程序设置了 memcached(unix 套接字)。然而,当 memcached 开启时,一些 ajax 请求似乎无法按预期工作。我在整个网站上使用 memcached。

例如,在此 javascript 函数中,.load() 指令第一次起作用,但此后它会不断从缓存中“获取”同一页面。

function placeBet(user, bet) {
    var ajax_data = {
        status:false,
        message: ''
    }

    $.ajax({
        url:'/place_bet/' + user + '/?ajax=&bet=' + bet,
        type:"POST",
        dataType:"json",
        data:ajax_data,
        success:function (data){
            var message = "";
            $('#user_open_bets').load('/ob/' + user + '/?ajax=');
            if (data.status == false){
                alert(data.message);
            }
        } // success
    }); // ajax
}

如何强制这些 ajax 请求从数据库而不是缓存重新加载?

编辑。

这是我的settings.py MIDDLEWARE 类

 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',
     'debug_toolbar.middleware.DebugToolbarMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
     'main.common.tz_middleware.TimezoneMiddleware',
     'main.common.sslMiddleware.SSLRedirect',
     'django.middleware.cache.FetchFromCacheMiddleware',

最佳答案

看来答案比我想象的要简单。我在 django 文档中找到了解决方案。

https://docs.djangoproject.com/en/dev/topics/cache/#controlling-cache-using-other-headers

我复制粘贴(为了其他人知道)

from django.views.decorators.cache import never_cache

@never_cache
def myview(request):
    # ...

话虽如此,@Alex 的建议似乎很有趣,我想尝试一下。但是现在我的服务器由于迁移原因而关闭。我需要等几个小时。稍后我会在这里报告。

关于ajax - django memcached 和 ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10650282/

相关文章:

javascript - 在所有元素上应用 jquery 代码

python - django-paypal 设置

nosql - Couchbase 服务器只能使用 RAM 内存吗?

php - 更新 ajax 表单提交上的 mysqli 查询

java - JAX-RS POST 方法 415 不支持的媒体类型

带有可选时间部分的 Django DateTimeField

mysql - 高频更新、表插入、多路同时访问

java - java实现Memcache的错误

php - 为什么我的 blob 读取为数组?

python - pip 可以将依赖项源复制到我的 virtualenv 中吗?