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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让本地heroku应用程序连接到远程REDIS?相关的知识,希望对你有一定的参考价值。

我是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云而不是本地云?

谢谢

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

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

另一答案

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

以上是关于如何让本地heroku应用程序连接到远程REDIS?的主要内容,如果未能解决你的问题,请参考以下文章

如何连接到远程 Redis 服务器?

无法从 Express 连接到远程 Redis

如何从本地机器上运行的 Django App 连接到 ElastiCache 实例 (Redis)

在 Heroku 上存储 SSH 密钥以通过 SFTP 将 Rails 应用程序连接到远程

如何从本地机器连接到heroku pg?

Heroku - Socket.IO 客户端总是连接到本地主机