我试着联系哨兵,但每次我们都有同样的错误
例外:无法连接到任何哨兵
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": [
{ "sentinels": [("redis-cluster.local.svc.cluster.local", 26379, )]
, "master_name": "mymaster"}
]}
},
}我不知道把密码密钥和数据库密钥放在哪里。我需要把哨兵的url放进去吗?还是服务就够了?注意:当我们试图连接没有通道的红星/哨兵时,我们根本没有任何问题。
发布于 2022-03-04 18:30:14
来自自述文件
主机 要连接到的服务器,如URI、(主机、端口)元组或符合create_connection的dicts。默认为“localhost”,6379。传递多个主机以启用切分,但请注意,更改主机列表将丢失一些切分数据。 前哨连接需要符合 创建 的dicts,并添加一个指定哨兵主集合的master_name密钥。普通的红宝石和哨兵的连接可以混合在一起,如果切分的话也可以匹配。
(强调地雷)
据我所读,似乎不可能将URI用于哨位连接,因此,如果要设置db和密码密钥,则需要在hosts列表项中添加相关的键:
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": [
{
"sentinels": [
("redis-cluster.local.svc.cluster.local", 26379, )
],
"master_name": "mymaster",
"db": 0,
"password": "your_password"
}
]
}
}
}https://stackoverflow.com/questions/71102824
复制相似问题