如何让本地heroku应用程序连接到远程REDIS?

问题描述 投票:0回答:2

我是Heroku / Redis的新手。我创建了一个基本的node.js并表达了我添加了REDIS插件的APP。

heroku addons:create heroku-redis:hobby-dev -a MyApp

我有一个index.js,服务器在端口5000上运行

const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000
const client = require('redis').createClient(process.env.REDIS_URL);

express()
  .use(express.static(path.join(__dirname, 'public')))
  .set('views', path.join(__dirname, 'views'))
  .set('view engine', 'ejs')
  .get('/', (req, res) => res.render('pages/index'))
  .listen(PORT, () => console.log(`Listening on ${ PORT }`))

我的repo连接到Heroku的个人github,应用程序运行良好,但每当我尝试在本地运行时,它似乎尝试连接到本地REDIS,所以运行我的node命令时出现以下错误(node index.js) :

Listening on 5000
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379

我对此很新,但我认为环境是错误的:process.env.REDIS_URL,我如何直接连接到Heroku云而不是本地云?

谢谢

node.js heroku redis
2个回答
0
投票
  1. 将Heroku配置变量复制到本地.env文件 heroku config -s > .env
  2. 使用Heroku Local命令在本地运行您的应用程序 heroku local 当您使用heroku local启动应用程序时,将读取.env文件,并将每个名称/值对插入到环境中,以模仿配置变量的操作。

https://devcenter.heroku.com/articles/heroku-local的详细信息


0
投票

var client = redis.createClient(port,hostname);

© www.soinside.com 2019 - 2024. All rights reserved.