问题标签 [django-caching]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django-1.8 - Django 内存缓存过期网址
在 django 中使用 memcached 从缓存中清除 url。请求似乎已缓存。get_cache_key 不返回密钥。
设置:
提前致谢。
django - 为什么 Django 数据库缓存不跨多个线程共享?
似乎每个线程都维护其单独的缓存。我应该只使用我自己的 Django 对象来让多个线程共享一个数据库缓存吗?这样做有什么负面影响?
我面临的问题是:
- 我正在使用数据库缓存
- 我在处理请求时保存到缓存中
- 我在处理下一个请求时从缓存中检索
我希望它在缓存中,但它不存在。通过打印线程标识,我看到它是一个不同的线程。同一个线程获得缓存命中,但不同的线程获得缓存未命中。
我不希望数据库缓存后端会发生这种情况。
django - 使用缓存响应时出现 CSRF 错误
我正在做一些积极的缓存,当我使用以前缓存的旧响应时,这会导致 CSRF 错误。
有没有办法只刷新缓存响应中的 csrf 令牌?
无法理解 https://docs.djangoproject.com/en/1.10/ref/csrf/中的缓存部分
有人可以详细说明一下吗?
我正在使用数据库后端缓存,并且正在使用 cache.get(key) 和 cache.set(key, value) 来存储和检索响应。
django - 检查用户在线 Django 1.10
嗨,尝试像示例中那样做:
但是当添加
'userprofile.middleware.ActiveUserMiddleware',
到MIDDLEWARE_CLASSES
接收下一个错误时:
谢谢帮助。
可能有人建议如何在 Django 1.10 中检查在线/离线用户
django - Django - 按用户禁用页面级缓存
我已经为我们的许多页面设置了页面级缓存。但是,有时管理员用户会登录以预览对站点的潜在更改。
有没有办法只为这些用户禁用页面级缓存?
我通读了文档,但什么也没看到。
更新:这是我基于 v1k45 的回答的尝试:
django - django缓存REST API Urls问题
我遵循了堆栈溢出链接中提供的解决方案,当我从浏览器中使用它时,它运行良好。但是,当我尝试使用 curl 访问该 url 时,它不会为浏览器缓存..
让我解释。
如果我
example.org/results?limit=7
从我的 chrome 中点击一个 url,它需要8-10 seconds
加载并且连续点击需要时间milliseconds
所以我所做的就是URL
用curl
命令调用它;但它没有使用缓存的数据并再次创建了缓存。
所以我发现问题出arg
在下面代码中的参数上,因为它包含对象中的浏览器标头,该WSGIRequest
对象用于缓存键,因为它还包含我不需要缓存的标头。这没有达到我的 curl 请求自动创建缓存的目的celery task
。
我能做的就是只传递kwargs
创建缓存或任何其他替代方法,我可以通过这些替代方法只缓存 url 而不是标题
我在这里先向您的帮助表示感谢。
python - 如何在视图中使用 Django Cache 而不缓存所有页面
我试图使用 Django Cache 来改善我的观点。效果很好,400 毫秒到 8 毫秒是完美的。但是当用户第一次访问页面时,Django 缓存页面在标题中包含用户信息,当我尝试注销时,页面继续显示用户信息。
我也尝试在模板中使用缓存,但不好,我的问题来自视图,所以继续 400 毫秒。
我的设置.py
我的观点.py
python - 在 Django 中缓存每个应用程序而不是每个站点或每个视图
假设我的 Django 网站中有两个应用程序,一个用于 API,一个用于 html 页面,所有以 /api/ 开头的 url 都由 API 应用程序处理。我已经设置了两个缓存,每个缓存都有一个特定的设置,如下所示:
我将如何设置以便对 API 的所有请求都使用“api”缓存,而所有其他请求都使用“默认”缓存?
我知道我可以在“api”应用程序的 url 或视图中使用 cache_page 函数/装饰器,但我有很多 url 和视图,所以如果我想更改超时,维护起来会很烦人。
我也知道,当请求以“/api/”开头时,我可以自定义中间件以指向不同的缓存,但是没有更清洁的方法吗?
django - django中基于模型的缓存而不是基于视图的缓存
我正在开发一个 django 应用程序。该应用程序的主要任务是提供诸如“我今天应该出去吗?”之类的建议。只有一个端点可以获取建议,例如 example.com/。
提供建议的主要逻辑是:
用户今天有未完成的任务吗?(从 UserTaskModel 查询)
今天的天气舒服吗?(计算天气预报)
如果两个用户尝试在同一日期获取数据,则 UserTask 查询将不同。但是天气预报查询任务是一样的。如果我使用基于视图的 django 缓存,那么将为每个用户执行天气预报查询。但我想在同一日期为所有用户缓存天气查询数据。它可以通过为天气创建不同的视图来查看实施。但我不想为天气使用另一个端点。
Django 缓存 set-get 方法可用于此任务。但这种方式是完成此类任务的最佳方式吗?在我的示例中,我使用了一个简单的天气计算查询,具体取决于日期。但是这种技术对复杂的查询有用吗?
python - Django - 模板渲染性能(我认为)如何检查启用 LocMemCache 是否有效?
我注意到随机一些页面需要 2 到 12 秒才能加载,我安装了调试工具栏,我知道我的查询都是高效的(即没有重复),工具栏显示它们都在毫秒内运行。
我决定关注的一个特定页面是我的搜索页面,它使用了 haystack 和弹性搜索。
我有一个查询 haystack 的函数,我有一个计时器,它在服务器端函数的开头和结尾运行,然后生成查询时间,这个从 0.01 到 0.2 秒变化,无论哪种方式都非常快(下面的视图示例)。但是页面可能需要很长时间才能随机加载。
我在 DJDT 中添加了模板计时面板,但它不支持 Django 2.x,但它仍然显示计时结果从 2000 毫秒到 10000 毫秒+
这使我研究了我在这篇文章中遇到的模板渲染(django:加速模板渲染性能的指南)。虽然我不知道提到的很多事情,但我确实研究了缓存。我已将以下内容添加到我的 settings.py 文件中:
在我的基本模板中,我有一个菜单,可以根据权限显示或隐藏项目,还可以根据模型中的站点类型呈现菜单,所以我认为缓存是一件好事,因为一旦决定了菜单对于用户并且数据库已被查询,它不会改变。(至少我认为这是我应该做的?)
所以我将以下内容添加到我的基本模板中:
所以我的问题是,我在这里有正确的方法吗?我怎么知道侧栏的缓存是否真的有效?除了等待查看页面是否加载缓慢之外,我该如何证明呢?
谢谢
视图.py