Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis:在heroku中与多个dynos共享数据_Heroku_Redis - Fatal编程技术网

Redis:在heroku中与多个dynos共享数据

Redis:在heroku中与多个dynos共享数据,heroku,redis,Heroku,Redis,我是使用heroku的新手,我将选择4个2X dynos的实例,我担心dynos之间没有共享数据 所以我的问题是,有没有办法保存所有redis()实例(位于每个dynos上)中的数据呢?只要你的所有dynos都属于同一个应用程序(看起来是这样),它们都将共享相同的附加组件,包括redis Cloud。虽然您的应用程序将分布在这些动态节点上运行,但它的所有连接都将打开到同一个Redis数据库(由“REDISCLOUD\u URL”env var定义),因此可以共享其中的数据。只要您的所有动态节点都

我是使用heroku的新手,我将选择4个2X dynos的实例,我担心dynos之间没有共享数据


所以我的问题是,有没有办法保存所有redis()实例(位于每个dynos上)中的数据呢?

只要你的所有dynos都属于同一个应用程序(看起来是这样),它们都将共享相同的附加组件,包括redis Cloud。虽然您的应用程序将分布在这些动态节点上运行,但它的所有连接都将打开到同一个Redis数据库(由“REDISCLOUD\u URL”env var定义),因此可以共享其中的数据。

只要您的所有动态节点都属于同一个应用程序(似乎是这样),它们都将共享相同的附加组件,包括Redis云。虽然您的应用程序将分布在这些dyno上运行,但其所有连接都将打开到同一个Redis数据库(由“REDISCLOUD\u URL”env var定义),因此将能够共享其中的数据。

您的困惑源于假设Redis在每个dyno上本地运行。当您使用诸如Redis Cloud之类的附加组件时,Redis位于所有dynos的外部,并在由服务提供商操作的sperate服务器上运行(本例中为Redis Labs)

您的困惑源于假设Redis在每个dyno上本地运行。当您使用诸如Redis Cloud之类的附加组件时,Redis位于所有dynos的外部,并在由服务提供商操作的sperate服务器上运行(本例中为Redis Labs)

再次感谢@ItamarHaber,据我所知,每个dynos实例都有自己的RAM,redis在RAM中工作(每个实例的每个RAM)。这是我不理解的部分,redis是如何共享的。我担心的是,如果一个实例失败,我会丢失敏感数据,然后我会查看如何重新加载这些实例中的所有数据。再次感谢@ItamarHaber,据我所知,每个dynos实例都有自己的RAM,redis在RAM中工作(每个实例的每个RAM)。这是我不理解的部分,redis是如何共享的。我担心的是,如果一个实例失败,我将丢失敏感数据,然后我将查看如何重新加载这些实例中的所有数据。非常感谢!现在我明白我必须把注意力集中在我必须选择什么样的Redis云计划上。这些计划基于数据的大小,因此只需选择一个适合您需要的计划。不过,不要太担心,你可以随时更改计划以增加(或减少)你所支付的RAM数量,Redis Cloud的最佳功能是,这不涉及任何停机、数据丢失或应用程序的配置更改:)好吧,现在我确定我将选择四个2X Dyno,因为我的请求只发送长度最多为100的json对象,最多会有800个concurrents请求。非常感谢!现在我明白我必须把注意力集中在我必须选择什么样的Redis云计划上。这些计划基于数据的大小,因此只需选择一个适合您需要的计划。不过,不要太担心,你可以随时更改计划以增加(或减少)你所支付的RAM数量,Redis Cloud的最佳功能是,这不涉及任何停机、数据丢失或应用程序的配置更改:)好吧,现在我确定我将选择四个2X Dyno,因为我的请求只发送长度最多为100的json对象,而concurrents请求最多为800个。