另一个stackoverflow answer表示您需要设置elasticache.config文件以自动创建带有ElastiCache的Redis服务器。
但是,我可以在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",
}
}
}
我怀疑上述内容可能会导致多个beanstalk服务器实例出现问题。鉴于此,我很想使用MemCache而不是Redis,因为有一个Django包显式编写用于与AWS Elasticache for Memcache接口:django-elasticache。
谢谢, 安迪。
答案 0 :(得分:4)
简答:是的。
答案很长:我没有使用过Elastic Beanstalk,但我可以确认,如果你在ElastiCache中创建一个Redis 实例(即:已禁用集群模式),它可以正常使用{{1} }。只需将django-redis
插入您发布的Django配置中即可。
N.B。如果您打算使用只读副本,请将其设置为:
primary_endpoint
但是,如果您启动Redis 群集,则无法使用vanilla CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": [
"redis://<MASTER ENDPOINT>",
"redis://<SLAVE ENDPOINT>",
]
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
。您必须按照redis-py-cluster
所述使用in this post。复制在这里:
django-redis