如何使用 Django 对 Redis 进行故障转移
how to failover Redis with Django
我想做的是用Django对Redis进行故障转移,但是找不到方法。
我的设置如下:
- 我正在使用 Redis 作为会话后端。
- 我设置了两个主从关系的Redis服务器,当master出现故障时,slave自动成为master(使用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对Redis进行故障转移,但是找不到方法。
我的设置如下:
- 我正在使用 Redis 作为会话后端。
- 我设置了两个主从关系的Redis服务器,当master出现故障时,slave自动成为master(使用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 时排在首位的。