Redis
 sql >> Base de données >  >> NoSQL >> Redis

Configuration d'ElastiCache Redis avec Elastic BeanStalk + Django

Réponse courte :oui.

Réponse longue :je n'ai pas utilisé Elastic Beanstalk, mais je peux confirmer que si vous créez une instance Redis (c'est-à-dire :mode cluster désactivé) dans ElastiCache, cela fonctionnera correctement avec django-redis . Insérez simplement le primary_endpoint dans la configuration Django que vous avez publiée.

N.B. Si vous prévoyez d'utiliser des instances dupliquées avec accès en lecture, configurez-les comme suit :

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

Si vous lancez un cluster Redis cependant, vous ne pouvez pas utiliser la vanille django-redis . Vous devrez utiliser use redis-py-cluster avec elle comme décrit dans ce post. Répliqué ici :

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
      }
    }
  }
}