【问题标题】:How to use memcached in Django?如何在 Django 中使用 memcached?
【发布时间】:2021-01-26 17:42:24
【问题描述】:

【问题讨论】:

    标签: python django python-2.7 memcached django-1.11


    【解决方案1】:

    这个答案解释了如何在 Windows 10 上安装 Memcached,以及如何通过特定的客户端将它与 Django 集成。它使用 Memcached 1.4.4、Python 2.7 和 Django 1.11 进行了验证。

    1. 在您的 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',
          }
      }
      
    2. 在您的虚拟环境处于活动状态的情况下安装适用于 Python 的 memcached 客户端 (python-memcached)

      pip install python-memcached
      
    3. 使用以下下载链接之一下载 Memcached 并将其解压缩到特定文件夹

    1. 在终端或 PowerShell 中打开该文件夹位置并运行

      .\memcached.exe -h
      

    你应该得到这样的东西

    1. 运行以下命令(-m 表示您要专用的内存量,-vvv 表示非常详细)

      .\memcached.exe -m 512 -vvv
      

    1. 在要使用缓存的视图中,在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"),
      ]
      
    2. 转到 Django 项目,启动服务器,您的时间负载应该会得到更好的结果。

    【讨论】:

    • 您是否知道在可能发生自动缩放的 AWS Elastic Beanstalk 环境中实施这种方法是否是一个“好”的想法?在我的应用程序获得关注之前,我希望避免为 AWS Elasticache memcached 付费。
    • @Jarad 可能有助于考虑 this answerthis one
    猜你喜欢
    • 2016-09-28
    • 1970-01-01
    • 2015-06-24
    • 2017-05-18
    • 1970-01-01
    • 2017-07-07
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多