问题标签 [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.

0 投票
1 回答
58 浏览

django - 在单个会话中,对于简单的内部循环,有哪些轻量级 django 缓存选项?

我有一些看起来像这样的东西:

这会针对初始查询命中 SQL 层一次,然后在每个循环 (n+1) 中命中一次。然而,SQL 查询的最佳数量是 1 +(唯一作者的数量)。

我实现了一个简单的基于哈希的“作者”现金,并大大减少了加载时间。

但是感觉很乱。有哪些更简洁的选项可以减少单个事务中的 SQL 开销?

0 投票
1 回答
1034 浏览

django - Django的查询结果缓存

我正在使用 Django 1.7 和 GeoDjango 创建一个网站。当我需要优化网站速度时,我已经达到了目的。

瓶颈之一是查询执行。即使经过优化,有些查询也会运行缓慢。所以我想缓存查询结果并将它们存储在 Redis 中。

我得到的问题是我无法缓存一些查询结果。特别是那些包含几何类型和距离计算的。我遇到了“TypeError:无法腌制二进制对象”错误。

缓存 Django/GeoDjango QuerySets 的推荐/正确方法是什么?

0 投票
1 回答
986 浏览

python - Python-Django 缓存图像

所以我已经阅读了关于缓存的 Django-Docs 并理解我可以缓存每个视图的数据,这是我想要做的。我有一个这样的 URL:www.mysite.com/related_images/{image_id}。 它计算所选{image_id}的相关图像并将它们保存到磁盘,以便模板可以访问它们。事情是我不希望这些图像永远留在那里,但是现在我的视图将它们保存到磁盘而不进行任何缓存,我如何确保通过缓存视图一段时间来确保由缓存过期时视图将被删除?

或者,如果您对我的问题有更好的解决方案,我愿意提供想法。有没有办法将缓存中的图像注入模板而不将它们保存在磁盘上并明确提供 html 的路径?

这是视图的简化版本:

谢谢 :)

0 投票
1 回答
2015 浏览

django - 如何在 Django 中使 cache_page 无效?

这是问题所在:我有博客应用程序,我将帖子输出视图缓存 5 分钟。

但是,每当向帖子添加新评论时,我想使缓存无效。我想知道如何最好地做到这一点?

我见过这个相关的问题,但它已经过时了。

0 投票
1 回答
321 浏览

django - 无法迭代 Django 中缓存查询集的结果

我想只缓存每篇文章的评论部分而不缓存整个页面,所以文章视图,我有

但是在它尝试呈现评论的模板中,{% for comment in comments %}我得到:

我不知道是否基本上不可能迭代缓存的查询集结果,或者我的代码有问题,如果是,我该如何解决?

更新。这是我的评论模型:

0 投票
1 回答
620 浏览

python - django缓存键命名

我想使用 Django 缓存 API 存储一些项目。命名密钥时是否有最佳实践可遵循。我知道有些人只是将用户名作为密钥。但是我将在不同的视图中缓存各种项目,并且在每个地方都拥有相同的密钥是不可行的。我在想可能会给一个带有用户名+“特定视图”的密钥,以便密钥可以是唯一的。

是否有人对生成密钥有任何其他好的建议?

0 投票
2 回答
7778 浏览

django - 如何使用原生 django 缓存匹配 redis 键模式?

我有一系列遵循这种模式的缓存:

像:

现在我想知道如何遍历所有键以匹配模式,例如key_1_*获取foobaz使用本机 django cache.get()

(我知道有办法,特别是对于 redis,允许使用更广泛的 api like iterate,但如果可能的话,我想坚持使用 vanilla django 缓存)

0 投票
1 回答
326 浏览

python - 弱物体消失了?- 蟒蛇/django

我在我认为与缓存有关的 django 项目中遇到了这个问题。它每 6 个月左右出现一次,并通过重新启动应用程序“修复”,但几个月后才会出现。突然之间,所有视图都会因此异常而失败。

而且它并不总是同一个对象,每个视图都因尝试访问不同的对象而失败。在这种情况下,它正在访问用户(使用request.user.is_authenticated()),但其他页面使用其他对象。

我认为缓存一定有问题。甚至可能它在 django 中也是一个问题。我不知道。它工作得很好,直到它没有,而且似乎没有人在互联网上谈论这个例外。

这是一个示例回溯:

谢谢!

0 投票
0 回答
440 浏览

django - Django的文件系统缓存系统是将缓存存储在服务器还是用户系统上?

我也阅读了文档,但无法弄清楚这一点。另外,我们是否需要安装任何额外的东西才能让它工作?我在 settings.py 文件中添加了以下代码:

0 投票
1 回答
1542 浏览

django - 无法定义默认缓存 Django

我正在尝试在 Django 中设置缓存,但它不允许我定义默认缓存。我并不太关心我使用什么类型的缓存(我已经尝试过文件系统数据库缓存。)

但即使复制+粘贴他们的示例代码,错误检查器也会告诉我:

我还尝试将 CACHES 设置放在 settings.py 文件的底部,以确保初始化 CACHES 设置可能依赖的任何内容。

我的代码如下:

完整的错误信息是:

大部分设置文件(编辑掉的密钥)