当前位置: 首页 > 面试题库 >

使用Elastic BeanStalk + Django设置ElastiCache Redis

索卓
2023-03-14
问题内容

但是,我可以仅在AWS(Elasticache)上创建Redis实例并将其端点添加到Django设置中吗?例如,使用Django-
redis

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://<REDIS AWS ENDPOINT AND PORT HERE>",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

我怀疑以上情况可能会导致多个beantalk服务器实例出现问题。鉴于此,鉴于有一个显式编写的用于与AWS Elasticache for
Memcache接口的Django包,我很想使用MemCache而不是Redis:django-
elasticache。

谢谢,安迪。


问题答案:

简短的回答:是的。

长答案:我还没有使用过Elastic Beanstalk,但是我可以确认,如果您在ElastiCache中创建Redis 实例
(即:禁用集群模式),它将可以正常使用django-redis。只需将插入primary_endpoint您发布的Django配置中即可。

注意:如果您打算使用只读副本,请按以下步骤进行设置:

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": [
            "redis://<MASTER ENDPOINT>",
            "redis://<SLAVE ENDPOINT>",
        ]
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

但是,如果启动Redis 集群 ,则不能使用vanilla django- redis。您必须按照本博文redis-py- cluster所述使用它。复制到这里:

CACHES = {
  'default': {
    'BACKEND': 'django_redis.cache.RedisCache',
    'LOCATION': 'redis://XXX.YYY.ZZZ.cache.amazonaws.com/0',
    'OPTIONS': {
      'REDIS_CLIENT_CLASS': 'rediscluster.RedisCluster',
      'CONNECTION_POOL_CLASS': 'rediscluster.connection.ClusterConnectionPool',
      'CONNECTION_POOL_KWARGS': {
        'skip_full_coverage_check': True # AWS ElasticCache has disabled CONFIG commands
      }
    }
  }
}


 类似资料:
  • 问题内容: 我想稍微远离PHP,学习Python。为了使用Python进行Web开发,我需要一个框架来帮助模板和其他事情。 我有一台非生产服务器,用于测试所有Web开发内容。这是一个运行MariaDB而不是常见的MySQL服务器软件包的Debian 7.1 LAMP堆栈。 昨天我安装了Django并创建了我的第一个项目firstweb。我尚未更改任何设置。 这是我的第一个大困惑。在教程中,我跟随那

  • 问题内容: 我正在尝试使用Eclipse设置Django。现在,我正在创建一个新的Pydev Django项目,并收到“找不到Django”错误消息。 当我尝试通过命令行验证Django是否集成时,它可以工作。 我刚好有两个python安装,分别是2.7和3.2,而且我确定我正在使用Eclipse(和命令行)中的2.7。我究竟做错了什么? 问题答案: 如果在安装django之前添加了python解

  • 问题内容: 有没有一种方法可以使用模型的整数ID设置外键关系?这将出于优化目的。 例如,假设我有一个Employee模型: 和 我希望拥有无限的员工类型的灵活性,但是在部署的应用程序中可能只有一个类型,所以我想知道是否有一种方法可以对ID进行硬编码并以此方式设置关系。这样,我可以避免通过数据库调用先获取EmployeeType对象。 问题答案: 是的: ForeignKey字段将它们的值存储在最后

  • 我正在将我的Laravel应用程序部署到AWS ElasticBeanstalk。我已经部署了。现在,我正在尝试使用.platform文件夹覆盖“/etc/nginx/conf.d/elasticbeanstalk/php.conf”文件。 我在项目的根文件夹中创建了.platform/etc/nginx/conf.d/elasticBeanstalk/php.conf文件。然后我放入配置内容。

  • 问题内容: 我正在尝试在Django 1.2中使用local_setting ,但对我来说不起作用。目前,我只是将local_settings.py添加到我的项目中。 settings.py local_settings.py 问题在于local_settings.py不会覆盖settings.py。怎么了? 问题答案: 你不仅可以添加local_settings.py,还必须显式导入它。 在最后

  • 本文向大家介绍Python Django中的STATIC_URL 设置和使用方式,包括了Python Django中的STATIC_URL 设置和使用方式的使用技巧和注意事项,需要的朋友参考一下 使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了。特记录下来。 关键的概念:Django中,静态资源的存放通