Flask-Redis python:redis.exceptions.ResponseError:数据库索引超出范围

问题描述 投票:0回答:1

我正在使用flask-Redis,并且在使用类似'redis://:password @ localhost:6379/3'之类的连接时收到错误:redis.exceptions.ResponseError:数据库索引超出范围。在使用“ redis://:localhost:6379/3”之类的连接时,它工作正常。我不知道如何处理。

python redis flask-restful
1个回答
0
投票

简短的答案是将连接字符串末尾的3替换为0,格式化后的字符串应如下所示

redis://{username}:{password}@localhost:6379/0

DB index is out of range表示连接字符串(3)末尾的通道索引超过了安装的最大值。通常有16个通道,因此,在没有更多信息的情况下,您不清楚特定版本的最大值。但是,假设已正确安装Redis,则可以确保0的值将在正确的索引范围内。您可以使用redis-cli工具轻松地验证您的安装

$ redis-cli -h localhost -c 'PING'
PONG

除非您有非常令人信服的理由进行其他操作,否则应坚持使用默认通道值0。您可以从Redis的作者本人身上了解更多有关此here的信息。

如果未将Redis明确配置为要求密码,则无需提供任何值。与用户名相同,默认情况下,Redis不会设置值,因此可以忽略这两个值,这就是为什么当您说第二个版本的连接字符串起作用时,它会起作用的原因。

© www.soinside.com 2019 - 2024. All rights reserved.