【问题标题】:Redis for both data store (jobs) and fragment cache in RailsRedis 用于 Rails 中的数据存储(作业)和片段缓存
【发布时间】:2015-12-26 06:53:35
【问题描述】:
我已经在使用 Redis(在 Heroku 上使用 Redis Cloud)作为 Resque 的数据存储来处理我的后台作业。我想为我的应用添加一些片段缓存。
问题:
我们是否需要两个单独的 Redis 实例来实现这一点?一个用于片段缓存(临时数据),另一个用于作业(持久数据)?或者可以将一个 Redis 实例配置为同时处理这两种情况?
从配置和维护的角度来看,简单地使用 memcached 进行片段缓存和使用 Redis 进行作业是否更容易?主要的缺点是有两种付费服务而不是一种?
【问题讨论】:
标签:
ruby-on-rails-4
heroku
redis
memcached
【解决方案1】:
相同的 redis 可用于临时数据(用于片段缓存)和持久数据,因为您已将 redis 配置为将数据写入磁盘,我假设当前 redis 用于持久数据。
引入分片缓存后,可以根据使用量来评估单独的redis实例。如果分片缓存会显着增加 redis 的负载,请使用不需要写入磁盘本身的不同 redis。
从配置和维护的角度来看,无论是 memcache 还是 redis 配置,当您在自己的机器上使用集群或使用弹性缓存等现有解决方案时,集群同样简单。
鉴于您已经在使用 redis,我会说扩展 techstack 总是会增加一点维护开销,因为您将有额外的堆栈来调整和调整以获得更好的性能。