我们在Heroku上运行了一个Ruby on Rails应用程序,使用Redis执行多个独立的功能,例如通过redis-store缓存各种内容,托管Resque队列和临时数据存储。我们正在快速扩展,并最近从RedisToGo切换到我们自己托管的EC2实例。但是我们的内存和连接使用仍在增长。Rails应用程序是否可以为不同的目的与不同的Redis实例建立连接?
我们在Heroku上运行了一个Ruby on Rails应用程序,使用Redis执行多个独立的功能,例如通过redis-store缓存各种内容,托管Resque队列和临时数据存储。我们正在快速扩展,并最近从RedisToGo切换到我们自己托管的EC2实例。但是我们的内存和连接使用仍在增长。Rails应用程序是否可以为不同的目的与不同的Redis实例建立连接?
是的,可以。
这在一定程度上取决于您如何连接和使用redis。但是没有任何阻止Rails应用程序打开尽可能多的连接到尽可能多的redis服务器。如果您将从多个服务器连接到一个redis实例,则建议您查看connection_pool gem--它将帮助同步所有线程,并防止您用客户端压倒服务器。