flask redis python:redis.exceptions.responseerror:db index超出范围

unguejic  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(522)

我用的是flask redis和'redis://:password@localhost:6379/3'获取错误:redis.exceptions.responseerror:db index超出范围。使用“redis://”这样的连接时:localhost:6379/3“很好用。我不知道该怎么办。

xcitsw88

xcitsw881#

简单的答案是替换 3 在连接字符串的末尾 0 格式化的字符串应该如下所示

redis://{username}:{password}@localhost:6379/0
``` `DB index is out of range` 表示连接字符串末尾的通道索引( `3` )超过安装的最大值。通常有16个通道,因此没有进一步的信息,不清楚您的特定版本的最大值可能是多少。但是,假设redis安装正确,您可以确信 `0` 将在正确的索引范围内。您可以使用 `redis-cli` 工具

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

除非你有一个非常有说服力的理由去做,否则你应该坚持使用默认的channel值 `0` . 你可以从redis的作者那里了解更多。
如果没有显式配置redis以要求密码,则不需要提供任何值。用户名也是一样,默认情况下redis不会设置一个值,所以这两个值都可以省略,这就是为什么当你说第二个版本的连接字符串可以工作时,它可以。

相关问题