ruby-on-rails - 每个 Rails 应用程序一个 Redis 服务器?

标签 ruby-on-rails redis

我的服务器上有一堆 Rails 应用程序应该能够使用 Redis 作为缓存引擎。

我是否必须为我的每个应用程序启动一个 Redis 实例,或者 Redis 是否支持作用域?

我担心如果我在一个应用程序中删除一个值,我的所有应用程序都将删除具有相同键的值。

例如,我希望这种情况发生。

应用 1
Rails.cache.write("key", "value")

应用 2
Rails.cache.read("key") => "value"

应用 3
Rails.cache.delete("key")

应用 1
Rails.cache.read("key") => 无

最佳答案

我建议为每个应用程序运行一个服务器。每增加一个 Redis 实例,空的时候只多使用 1MB 的内存,所以开销很小,单实例跑几十台服务器是可以的。此外,空闲的 Redis 服务器将使用最少的内存。

因此,基本上通过运行多个服务器,您不会浪费资源,反而会获得速度,因为您将使用所有 CPU 或 CPU 核心,因为 Redis 是单线程的。

关于ruby-on-rails - 每个 Rails 应用程序一个 Redis 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7651537/

相关文章:

ruby-on-rails - 获取ElasticSearch结果中某项的页码

ruby-on-rails - MongoDB - 过滤和计算大型集合以进行统计

ruby-on-rails - 捕获未立即加载的 xml feed 内容

.net - Redis Cache 如何与 High Availability 和 Sentinel 协同工作?

javascript - heroku Node js redis出错

ruby-on-rails - 从多态关联中链接对象

javascript - 如何在 Rails 出价中实现卖家可以在 24 小时内取消或接受或交易被取消的出价?

memory - 同一台服务器上的数百个 Redis 实例

google-cloud-platform - 从谷歌云服务器远程访问redis

laravel - Ioredis 与 Laradock redis 容器连接超时