我想做的是用Django对Redis进行故障转移,但是找不到方法。
我的设置如下:
- 我正在使用 Redis 作为 session 后端。
- 我在主从关系中设置了两个 Redis 服务器,当主服务器发生故障时,从服务器自动成为主服务器(使用 Sentinnel)
我这样设置settings.py
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION':[
"127.0.0.1",
"IPofSlave"
],
'OPTIONS': {
'PASSWORD': "xxxxxxxx",
'DB': 0,
}
}
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = "default"
我想让Django在正常情况下只使用master,连接不上master时自动切换到slave。
我如何通过编辑 settings.py 来做到这一点,或者我应该采取另一种方式吗?
最佳答案
我可能会选择类似 https://github.com/KabbageInc/django-redis-sentinel/blob/master/README.md 的东西它将哨兵支持添加到 Django Redis 插件。可能还有其他更合适的,这是在 Google 搜索 Django sentinel 时排在首位的。
关于django - 如何使用 Django 对 Redis 进行故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34146489/