Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Redis sucht nach env redis URL-Variable, nicht sicher, wo die env-Variable abgelegt werden soll. Schlechter URI (ist kein URI?):(URI::InvalidURIError)

Ich vermute, Sie bekommen das, wenn Sie Rake machen. Das Problem ist, dass beim Rakeing Ihre Umgebungsvariablen nicht gesetzt sind, was zu diesem Fehler führt (Infos unter https://devcenter.heroku.com/articles/rails-asset-pipeline). Um dies zu umgehen, verwenden Sie stattdessen einen bedingten Initialisierer, z. B.:

if ENV["REDISCLOUD_URL"]
    uri = URI.parse(ENV["REDISCLOUD_URL"])
    $redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
end

P.S. Alternativ können Sie dies verwenden, aber beachten Sie, dass laut Heroku:

Die Verwendung dieser Labs-Funktion wird als gegen die Best Practices von Heroku erachtet. Diese Labs-Funktion kann Ihre Builds weniger deterministisch machen und eine erneute Bereitstellung erfordern, nachdem Sie Konfigurationsänderungen vorgenommen haben. Idealerweise sollte Ihre App ohne Konfiguration erstellt werden können.