Проблема с настройкой django-redis с помощью ElastiCache Redis (режим кластера включен) - PullRequest
0 голосов
/ 20 марта 2019

Я работаю над проектом Django, который в настоящее время использует ElastiCache Redis 3.2.6 с несколькими узлами в конфигурации «master / slave», используя бэкэнд «redis_cache.RedisCache». Это отлично работает в настоящее время.

Однако я нахожусь в процессе миграции проекта на новый экземпляр ElastiCache Redis 5.0.3 с включенным режимом кластеризации. Мне не удалось найти какой-либо документированный способ настройки соединения от Django до конечной точки конфигурации ElastiCache для кластера Redis. Самое близкое, что я нашел, это этот комментарий к django-redis GitHub , но когда я пробую эту конфигурацию, я получаю сообщение об ошибке:

rediscluster.exceptions.RedisClusterException: Redis Cluster не может быть подключен. Пожалуйста, предоставьте хотя бы один доступный узел.

Есть ли какой-нибудь лучший способ добиться этого, которого мне не хватает?

1 Ответ

0 голосов
/ 22 марта 2019

Я понял это.Вот рабочий конфиг:

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