大约一年前的这篇Heroku 博客文章引用了使用附加组件的环境变量作为最佳实践:
您的应用程序从环境变量(例如)中读取支持服务(例如数据库、memcached 或传出 SMTP 服务器
DATABASE_URL
)的配置,而不是硬编码的常量或配置文件。这允许平台轻松连接附加资源(当您运行时heroku addons:add
),而无需接触您的代码。
我确实在使用环境变量(通过 Heroku 配置),但在一种情况下,我使用的是我自己的变量,而不是由附加组件添加的默认变量。
(具体来说,我更喜欢在 Heroku 的 Redis 缓存中使用 eg CACHE_HOST
、CACHE_PORT
等REDISTOGO_URL
。感觉更精确/模块化和更通用——尤其是当我在开发过程中使用 Redis 的本地实例而不是 RedisToGo 时。)
我想知道,这是一种不好的做法吗?附加配置可以REDISTOGO_URL
在云中随机更改吗?