如何在 Django 中使用 memcached?
Posted
技术标签:
【中文标题】如何在 Django 中使用 memcached?【英文标题】:How to use memcached in Django? 【发布时间】:2021-01-26 17:42:24 【问题描述】:我已经看到在 Django 项目中使用 Memcached 的所有问题被认为是
本机支持的最快、最有效的缓存类型 姜戈
例如,
Why doesn't memcache work in my Django? How to configure Memcache for Django on Google cloud AppEngine? Django doesn't use memcached framework memcache on django is not working How to use memcached in django project? How do you confirm django is using memcached? Configuring memcached with django What steps are needed to implement memcached in a Django application? How to use memcached in django project?那么,我们该如何使用它呢?
【问题讨论】:
【参考方案1】:这个答案解释了如何在 Windows 10 上安装 Memcached,以及如何通过特定的客户端将它与 Django 集成。它使用 Memcached 1.4.4、Python 2.7 和 Django 1.11 进行了验证。
在您的 Django 项目中,在 settings.py 下,在文件底部添加以下代码
SESSIONS_ENGINE='django.contrib.sessions.backends.cache'
CACHES =
'default':
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
在您的虚拟环境处于活动状态的情况下安装适用于 Python 的 memcached 客户端 (python-memcached)
pip install python-memcached
使用以下下载链接之一下载 Memcached 并将其解压缩到特定文件夹
在终端或 PowerShell 中打开该文件夹位置并运行
.\memcached.exe -h
你应该得到这样的东西
运行以下命令(-m 表示您要专用的内存量,-vvv 表示非常详细)
.\memcached.exe -m 512 -vvv
在要使用缓存的视图中,在urls.py中指定就好
from django.conf.urls import include, url
from django.views.decorators.cache import cache_page
from .views import IndexView
urlpatterns = [
url(r'^$', cache_page(60*60)(IndexView.as_view()), name="index"),
]
转到 Django 项目,启动服务器,您的时间负载应该会得到更好的结果。
【讨论】:
您是否知道在可能发生自动缩放的 AWS Elastic Beanstalk 环境中实施这种方法是否是一个“好”的想法?在我的应用程序获得关注之前,我希望避免为 AWS Elasticache memcached 付费。 @Jarad 可能有助于考虑 this answer 和 this one以上是关于如何在 Django 中使用 memcached?的主要内容,如果未能解决你的问题,请参考以下文章