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