Настройка переменных REDIS ENV Node.js на Openshift

Я перехожу с Heroku на Openshift, так как мое приложение активно использует socket.io. Кажется, я правильно подключил Redis, но просто хочу убедиться.

Когда я ввожу это:

 rhc cartridge-status redis -a myapp

Я получаю это:

Using smarterclayton-redis-2.6 (Redis) for 'redis'

RESULT:

Redis is running
  master (receives writes), mode sharded
  Connect to: xxhostnumberxx-myapp.rhcloud.com:xxportnumberxx password:xxsomepasswordxx

Затем я устанавливаю переменные ENV следующим образом:

rhc set-env OPENSHIFT_REDIS_HOST=xxhostnumberxx-myapp.rhcloud.com -a myapp
rhc set-env OPENSHIFT_REDIS_PORT=com:xxportnumberxx -a myapp
rhc set-env REDIS_PASSWORD=password:xxsomepasswordxx -a myapp

И затем в моем app.js у меня есть:

вар редис;

// Openshift redis connection
if (process.env.OPENSHIFT_REDIS_HOST) {

    var redisHost = process.env.OPENSHIFT_REDIS_HOST;
    var redisPort = process.env.OPENSHIFT_REDIS_PORT;
    var redisPass = process.env.REDIS_PASSWORD;

    redis = require('redis').createClient(redisPort, redisHost);
    redis.auth(redisPass);
} 
// Localhost
else {
    redis = require('redis').createClient();
}

Кажется, это работает, так как моя ошибка req.session is undefined исчезла (я использую Redis для управления сеансом).

Я просто хочу убедиться, что делаю это правильно. Являются ли переменные, которые я установил, правильными и не собираются меняться? Или есть способ установить их динамически?


person OdieO    schedule 21.08.2014    source источник


Ответы (1)


Да, это выглядит хорошо для меня. Вы правильно устанавливаете переменные среды с помощью rhc set-env, и, поскольку вы используете имя хоста, а не IP, оно не должно меняться.

person niharvey    schedule 22.08.2014
comment
Единственное сомнение, которое у меня было, заключалось в том, что xxhostnumberxx была строкой из 24 цифр, которая, похоже, могла меняться случайным образом. Значит, это постоянная ценность? - person OdieO; 23.08.2014
comment
если вы не измените это приложение, имя хоста никогда не должно меняться. - person niharvey; 23.08.2014