在我当前的 ROR 应用程序中,我还使用 ENV 变量和 RedisDB 变量。
对于 ENV 变量的单个更改,我必须重新启动所有服务器;这样,很多工作都会失败(脏退出)。
考虑将所有 ENV 变量切换为 RedisDB 变量。
现在的问题是为什么? -
您在这里进行了完整的苹果与橙子的比较。它们是完全不同的事物,具有截然不同的目的。唯一实际的相似之处是两者都是简单的键值结构。
ENV 变量是由操作系统、shell 或调用进程时设置的变量(或通过 DotEnv 等工具从文件中设置)。它们通常用于告诉程序有关它们正在运行的环境的信息,但可以以程序员认为合适的任何方式使用。一般来说,它们应该被视为不可变的输入。
Redis 是一种内存存储,可用作程序之间的键值数据库或消息代理(以及更多东西)。
从 RedisDB 获取数据比 ENV 变量更快吗?
这完全无关,因为它们有不同的用途。性能差异非常微不足道,因为两者都只是从内存中读取。不过,当您与不同的进程通信时,Redis 会有更多的开销。
ENV 和 RedisDB 哪个内存消耗更大?
如果内存消耗是一个问题,您可能不应该使用它们中的任何一个。
无法衡量统计数据来证明哪一个更好。请推荐
仔细阅读这两个概念,不要再将苹果与橙子进行比较。