Я перехожу с 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 для управления сеансом).
Я просто хочу убедиться, что делаю это правильно. Являются ли переменные, которые я установил, правильными и не собираются меняться? Или есть способ установить их динамически?