Redis在Rail中使用,有多少使用两个?



所以很多人使用redis(通常通过sidekiq(作为他们的ActiveJob队列。

redis也是一个很好的候选者,可以用作ActiveSupport::Cache后端。

但在我看来,对于这两种情况,您希望使用一些不同的 redis 配置。对于缓存使用,您可能希望将 redis 配置为 LRU 缓存,当它达到特定大小边界时自动逐出最近较少使用的条目。

但是对于 ActiveJob 队列的使用,您当然不希望它以 LRU 方式丢弃排队的作业,重要的是 redis 永远不会自行"过期"任何内容。

我认为没有办法同时以这两种方式使用相同的 redis 实例。

那么......在你的 Rails 中实际使用两个redis 实例是否常见?还是有另一种解决方法我错过了?或者 redis 实际上并不流行 ActiveSupport::Cache 后端,人们是否使用其他东西?

是的,使用多个不同配置的 Redis 实例是很常见的。

Sidekiq明确将其记录为推荐的配置:

许多人使用 Redis 作为缓存 [..],但重要的是 Sidekiq 针对未配置为缓存而是配置为持久存储的 Redis 实例运行。如果您希望使用 Redis 进行缓存和 Sidekiq,我建议使用两个单独的 Redis 实例,每个实例都经过适当配置。

最新更新