我用的是flask redis和'redis://:password@localhost:6379/3'获取错误:redis.exceptions.responseerror:db index超出范围。使用“redis://”这样的连接时:localhost:6379/3“很好用。我不知道该怎么办。
xcitsw881#
简单的答案是替换 3 在连接字符串的末尾 0 格式化的字符串应该如下所示
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不会设置一个值,所以这两个值都可以省略,这就是为什么当你说第二个版本的连接字符串可以工作时,它可以。
1条答案
按热度按时间xcitsw881#
简单的答案是替换
3
在连接字符串的末尾0
格式化的字符串应该如下所示$ redis-cli -n 0 -h localhost -c 'PING'
PONG