Redis
 sql >> Datenbank >  >> NoSQL >> Redis

ElastiCache Redis mit Elastic BeanStalk + Django einrichten

Kurze Antwort:ja.

Lange Antwort:Ich habe Elastic Beanstalk nicht verwendet, aber ich kann das bestätigen, wenn Sie eine Redis-Instanz erstellen (das heißt:Cluster-Modus deaktiviert) in ElastiCache funktioniert es gut mit django-redis . Fügen Sie einfach den primary_endpoint ein in die von Ihnen gepostete Django-Konfiguration.

Hinweis:Wenn Sie Lesereplikate verwenden möchten, richten Sie sie wie folgt ein:

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

Wenn Sie einen Redis Cluster hochfahren Sie können jedoch kein Vanilla-django-redis verwenden . Sie müssen use redis-py-cluster verwenden damit wie in diesem Beitrag beschrieben. Hier repliziert:

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