gpt4 book ai didi

python - 如何在 Django 中设置 Memcached 检索超时

转载 作者:太空狗 更新时间:2023-10-29 18:29:35 25 4
gpt4 key购买 nike

如何更改 Memcached/Elasticache caching backend 的检索超时在 Django 中?

我正在使用 Amazon 的 Elasticache 在 Django 中缓存内容,我经常看到如下错误:

  File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/template/defaulttags.py", line 285, in render
return nodelist.render(context)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/template/base.py", line 830, in render
bit = self.render_node(node, context)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/template/base.py", line 844, in render_node
return node.render(context)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/templatetags/static.py", line 109, in render
url = self.url(context)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/contrib/staticfiles/templatetags/staticfiles.py", line 12, in url
return staticfiles_storage.url(path)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 136, in url
hashed_name = self.cache.get(cache_key)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/core/cache/backends/memcached.py", line 64, in get
val = self._cache.get(key)
Error: error 31 from memcached_get(myproject:1:staticfiles:27e4bc0): A TIMEOUT OCCURRED

我尝试增加我的 Elasticache 集群中的节点数量,但没有效果。我的下一个想法是增加内存缓存检索的超时时间,但是 Django docs似乎没有为此提供选项。

有一个“TIMEOUT”选项,但它似乎定义了内容过期的默认时间,而不是对 memcached 服务器的 HTTP 请求的超时。

最佳答案

我采用的解决方案是将我的 Django 缓存后端切换到 django-ft-cache ,标准内存缓存后端的容错版本。所以现在,当发生周期性超时时,缓存只是绕过媒体的非缓存检索,而不是抛出 500 错误。

关于python - 如何在 Django 中设置 Memcached 检索超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31613217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com