Хотите использовать Redis на Heroku (Redis:: CannotConnectError (ошибка подключения к Redis на 127.0.0.1:6379 (ECONNREFUSED)))
Я хочу использовать Redis на Heroku, но я получил эту ошибку Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED))
.
Я проверил , но не помогло. Redis подключение к 127.0.0.1: 6379 не удалось-подключение ECONNREFUSED, развертывание redis в heroku не удалось подключиться, Как заставить Redis начать Heroku? .
Я использую Ruby 2.0.0p247 и Rails4. Я использую пуму.
Я использую RedisToGo (nano) и, в /config/инициализаторы/redis.РБ я пишу этот.
uri = URI.parse(ENV["REDISTOGO_URL"] || "redis://localhost:6379/" )
$redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Я проверил, что "REDISTOGO_URL" - это тот же URL, который я вижу, когда $ heroku config
.
я перезапустил Redis на Heroku GUI, но это не работает.
Пожалуйста, скажите мне все, что мне нужно сделать. Спасибо за помощь.
2 ответов
вы пытаетесь подключиться к своему компьютеру (Примечание 127.0.0.1 == localhost). Я предполагаю, что это не сервер Redis, который вы ищете:)
выглядит так:ENV["REDISTOGO_URL"]
неправильно установлен.
кроме того, просто Примечание, посмотрите вверх Redis Идти если вы еще этого не сделали, что большинство людей используют в качестве сервера Redis в сочетании с Heroku.
проверить ENV переменная должна содержать конфигурацию redis
например, если вы собираетесь использовать Redis для Sidekiq, вам нужно сопоставить ENV ["REDISTOGO_URL"] to ENV ["REDIS_PROVIDER"] потому что Sidekiq ожидает получить конфигурацию redis от ENV ["REDIS_PROVIDER"]
вы можете сделать это таким образом
heroku config:set REDIS_PROVIDER=REDISTOGO_URL
Также вам не нужно URI.разбор, Redis сделает это вместо вас на случай, если понадобится.
$redis = Redis.new(url: ENV['REDISTOGO_URL' || "redis://localhost:6379/"])
Я предлагаю использовать камень Фигаро для установки переменных ENV для локальной разработки. Таким образом вы удаляете или сообщении
$redis = Redis.new(url: ENV['REDISTOGO_URL'])
и установите альтернативное значение в вашем конфиг/приложения.в формате YML
REDISTOGO_URL: redis://127.0.0.1:6379