【问题标题】:Cannot access databases on heroku rediscloud无法访问heroku rediscloud上的数据库
【发布时间】:2021-06-20 10:43:28
【问题描述】:

使用rediscloud 1GB plan,我似乎无法连接到指定的孤立数据库。例如,在 ruby​​ 中(使用 ruby​​ 2.2.10,redis ruby​​ library v3.3.5):

redis = Redis.new(url: ENV['REDISCLOUD_URL'], db: 4)
redis.get 'foo' # => Redis::CommandError: ERR DB index is out of range

url参数中指定db时得到类似的结果:

redis = Redis.new(url: "#{ENV['REDISCLOUD_URL']}/4")
redis.get 'foo' # => Redis::CommandError: ERR DB index is out of range

我没有遇到过其他redis实例的这个问题。我对 redis、dbs 或 rediscloud 有什么误解吗?

【问题讨论】:

  • REDISCLOUD_URL 是否真的在您的 Heroku 环境中设置?它是否返回带有 redis:// 协议和端口的完整 URL?您是否尝试将 DB 编号与以下 URL 连接起来:Redis.new(url: "#{ENV['REDISCLOUD_URL']}/4")
  • 是的。它返回完整的协议和端口。如果我用db: 0 初始化Redis,客户端会按预期工作。我得到相同的错误 DB 索引错误,但是如果我按照您的建议指定 Redis 数据库(通过附加“/4”)。
  • 我还要注意,在 url 中指定“/0”数据库是有效的。

标签: ruby heroku redis


【解决方案1】:

据我所知,rediscloud 似乎是一种不会自动附带数据库的产品。它要求您手动添加它们,尽管计划表明包含数据库。 Relevant documentation.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多