django-cache相关内容

在 Django 表单中缓存 ModelChoiceField 或 ModelMultipleChoiceField 的查询集选择

在 Django 表单中使用 ModelChoiceField 或 ModelMultipleChoiceField 时,有没有办法传入一组缓存的选项?目前,如果我通过 queryset 参数指定选项,则会导致数据库命中. 我想使用 memcached 缓存这些选择,并防止在显示具有此类字段的表单时对数据库进行不必要的访问. 解决方案 可以覆盖QuerySet中的“all"方法像 ..

以 Django 形式缓存 ModelChoiceField 或 ModelMultipleChoiceField 的查询集选择

在 Django 表单中使用 ModelChoiceField 或 ModelMultipleChoiceField 时,有没有办法传入一组缓存的选项?目前,如果我通过 queryset 参数指定选项,则会导致数据库命中. 我想使用 memcached 缓存这些选择,并在显示具有此类字段的表单时防止对数据库的不必要命中. 解决方案 您可以覆盖 QuerySet 中的“all"方法类似 ..

Redis Python - 如何根据特定模式删除所有键在python中,无需python迭代

我正在编写一个 django 管理命令来处理我们的一些 redis 缓存.基本上,我需要选择所有键,确认某个模式(例如:“前缀:*")并删除它们. 我知道我可以使用 cli 来做到这一点: redis-cli KEYS "prefix:*" |xargs redis-cli DEL 但我需要在应用程序中执行此操作.所以我需要使用 python 绑定(我使用的是 py-redis).我曾尝 ..
发布时间:2021-12-28 09:33:12 Python

Django不使用memcached框架

我试图找出Django缓存框架的工作方式.我在 settings.py 中设置了memcached,但是加载页面的时间并没有变短,并且Django-debug-toolbar显示了0个缓存调用. 这是我在settings.py中设置的: CACHES = {'默认': {'BACKEND':'django.core.cache.backends.memcached.MemcachedCa ..
发布时间:2021-05-01 19:24:19 Python

Redis Python-如何在python中根据特定模式删除所有键,而无需python迭代

我正在编写django管理命令来处理一些我们的redis缓存.基本上,我需要选择所有确认为特定模式的键(例如:"prefix:*")并删除它们. 我知道我可以使用cli来做到这一点: redis-cli KEYS“前缀:*" |xargs redis-cli DEL 但是我需要在应用程序中执行此操作.所以我需要使用python绑定(我正在使用py-redis).我曾尝试将列表送入De ..
发布时间:2021-05-01 18:37:20 Python

写入Django缓存非常慢

我曾经将数据库查询缓存在全局变量中,以加快我的应用程序的速度.由于这是极不建议的做法(确实会产生问题),因此我想改用任何一种Django缓存.我尝试了LocMemCache和DatabaseCache,但两者都花了大约 15秒来设置我的变量(比生成数据所需的时间长两倍,即大小为7MB). 这是预期的吗?我做错什么了吗? (Memcached的大小限制为1MB,我无法拆分包含任意大二进制 ..
发布时间:2021-04-21 18:38:53 其他开发

如何在视图中使用Django缓存而不缓存所有页面

我试图使用Django Cache改善我的观点。效果很好,400ms至8ms是完美的。但是,当用户首次访问页面时,Django缓存页面的标题中包含用户信息,当我尝试注销时,页面将继续显示用户信息。 我也尝试在模板中使用缓存,但是效果不好,我的问题来自视图,因此请继续执行400ms。 我的 settings.py CACHES = { 'default': { 'BACKEND' ..
发布时间:2020-09-28 06:08:49 Python

如何仅为未经身份验证的用户缓存视图?

我有一个视图,只想为未经身份验证的用户缓存. 视图应该是这样的: @cache_page_for_guests(60 * 15) def my_view(request): 我查看了实际上,我的问题与此 ,但尚未得到答复,我无法理解这些评论. 非常感谢您的帮助. 解决方案 from functools import wraps from django.views.decor ..
发布时间:2020-06-12 18:32:36 其他开发

清除Django中的特定缓存

我正在为Django项目使用视图缓存. 它说缓存使用URL作为密钥,因此我想知道如果用户更新/删除对象,如何清除其中一个密钥的缓存. 一个例子:一个用户在domain.com/post/1234/上发布一个博客文章.如果用户对此进行了编辑,我想通过在视图末尾添加某种删除缓存命令来删除该URL的缓存版本.保存已编辑的帖子. 我正在使用: @cache_page(60 * 60 ..
发布时间:2020-05-08 18:39:44 Python

在Django应用程序中执行memcached需要执行哪些步骤?

我有我现有的Django Web应用程序,使用MySQLDB而不用memcaching。 我想实现memcaching来提高这个网站的响应能力。我看到这里的说明。 但是,这些说明给我留下了一些未回答的问题。在安装memcached服务器之后,我需要做的是让memcache工作吗?或者我需要更改我的任何代码在settings.py之外?当模型被读取或写入时,Django是否可以很好地处理幕后 ..
发布时间:2017-05-30 23:27:15 Python

Django线程的全局数据

我在单进程多线程django服务器中有一个共享的全局数据对象 - 一个经常使用的对象,但不经常计算。计算是耗时的,所以我想分享结果。 我以为可以使用django的LocalMemCache来实现这个简单的数据。奇怪的是,它似乎在单个页面加载时可以用于多个ajax调用,但由于某种原因,当我在浏览器中重新加载页面时,缓存再次为空。 我做错了什么? 有更好的方法吗?如果我使用线程锁控制 ..

Django缓存框架。 TIMEOUT和CACHE_MIDDLEWARE_SECONDS有什么区别?

我已经使用数据库缓存在Django中设置缓存。有两个设置TIMEOUT和CACHE_MIDDLEWARE_SECONDS可以控制页面被缓存多长时间。这两个设置有什么区别? 解决方案 确实,相应的文档没有充分解释差异。 第一个选项 CACHES : TIMEOUT 在 Django缓存框架,缓存参数。这是在$ code> cache.set()等函数中使用的默认过期时间,如果没有提供。 ..
发布时间:2017-05-30 06:43:44 其他开发

在django中为匿名用户进行缓存

我如何去匿名用户的缓存页面,但是为Django 1.6中的授权用户呈现?以前是一个听起来很完美的CACHE_MIDDLEWARE_ANONYMOUS_ONLY标志,但已经被删除了。 我问,因为每个页面都有一个菜单栏,显示登录的用户名并链接到他/她的个人资料。 正确的方式是什么?必须是一个常见的问题,但是我没有找到正确的方法来查看Django文档。 解决方案 需要视图中的任何代码 ..

Django静态发生器与CACHE_BACKEND

staticgenerator 和使用Django的 CACHE_BACKEND ,例如。 CACHE_BACKEND ='file:/// var / tmp / django_cache'? 解决方案 是的。 StaticGenerator 生成静态HTML文件,以完全绕过Django 。 django执行的任何缓存(如文件系统缓存)仍由django进行处理。运行应用程序的 ..
发布时间:2017-05-30 04:16:53 其他开发

如何访问模板缓存? - Django

我在一些模板中缓存html ,例如: {%cache 900 stats% } {{stats}} {%endcache%} 使用低级别库访问缓存?例如 html = cache.get('stats') 我真的需要对模板缓存进行一些细粒度的控制:) 任何想法?感谢大家! :D 解决方案 这是我在项目中访问 ..
发布时间:2017-05-29 04:27:10 Python

你怎么知道memcached是做什么的?

我正在测试使用memcached缓存django视图。如何判断memcached是否实际上是从Linux命令行缓存任何东西? 解决方案 简单的方法来测试memcache的工作是在每个提供的页面上注释掉时间戳。如果时间戳在对页面的多个请求上保持不变,那么页面正在被memcache缓存。 在Django设置中,我还设置缓存机制以使用文件系统上的文件缓存(真的很慢),但是在打开页面后,我可 ..
发布时间:2017-05-29 00:19:51 其他开发

django querysets + memcached:最佳做法

尝试了解在django低级缓存中发生的情况.get() 特别是有关queryset的哪些部分存储在memcached中的详细信息。 首先,我正确地解释django文档? 一个查询器(python对象)拥有/维护自己的缓存 访问数据库是懒惰的;即使queryset.count是1000, 如果我做一个object.get为1记录,那么dbase将只有 访问一次,为该记录。 当通 ..
发布时间:2017-05-28 09:05:00 其他开发