我正在使用Django项目,该项目目前使用ElastiCache Redis 3.2.6,使用“redis_cache.RedisCache”后端在“主/从”配置中使用多个节点。目前工作正常。
但是,我正在将项目迁移到启用了群集模式的新ElastiCache Redis 5.0.3实例。我没有成功找到任何记录的方法来配置从Django到ElastiCache的Redis集群配置端点的连接。我发现最接近的是this comment on the django-redis GitHub,但是当我尝试这种配置时,我收到的错误是:
rediscluster.exceptions.RedisClusterException:无法连接Redis群集。请提供至少一个可访问节点。
有没有更好的方法来实现这一点,我错过了?
我想到了。这是一个有效的配置:
"default": {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION':"redis://mycluster.foo.clustercfg.use1.cache.amazonaws.com/0",
'OPTIONS': {
'REDIS_CLIENT_CLASS': 'rediscluster.StrictRedisCluster',
'CONNECTION_POOL_CLASS': 'rediscluster.connection.ClusterConnectionPool',
'CONNECTION_POOL_KWARGS': {
'skip_full_coverage_check': True # AWS ElasticCache has disabled CONFIG commands
}
}
}