我正在使用memcached通过简单的Rails.cache
接口在我的Rails3应用程序中进行一些缓存,现在我想使用redis和resque进行一些后台作业处理。
我认为它们的不同之处足以保证两者都使用。然而,在heroku上,使用memcached和redis是分开收费的。两者都使用有意义吗?或者我应该迁移到只使用redis?
我喜欢使用memcached进行缓存,因为最近最少使用的键会自动推出缓存,并且我不需要缓存数据持久化。Redis对我来说大多是新的,但我知道它在默认情况下是持久的,密钥不会自动从缓存中过期。
编辑:只是想让我的问题更清楚。我知道只使用Redis而不是两者都使用是可行的。我想我只是想知道这样做有没有什么特别的缺点?考虑到实现和基础设施,我有什么理由不应该只使用Redis吗?(即,memcached对于简单的缓存是否更快?)无论哪种方式,我都没有找到任何确定的东西。
发布于 2010-11-16 08:31:39
假设从memcached迁移到redis进行缓存已经足够简单,为了简单起见,我选择使用redis。
在redis中,持久化是可选的,所以如果你愿意的话,你可以像memcached一样使用它。您甚至可能会发现,使缓存持久化对于避免在重新启动后发生大量缓存未命中非常有用。Expiry也是可用的-算法与memcached略有不同,但对于大多数用途来说还不够重要-详情请参阅http://redis.io/commands/expire。
发布于 2011-10-05 03:10:28
我是redis-store的作者,不需要直接使用Redis命令,只需像这样使用:expires_in
选项:
ActionController::Base.cache_store = :redis_store, :expires_in => 5.minutes
使用Redis的好处是速度快,而使用我的gem,你已经有了Rack::Cache
、Rails.cache
或I18n
的商店。
发布于 2010-12-03 11:47:26
我会考虑检查我在这个问题上的答案:
Rails and caching, is it easy to switch between memcache and redis?
从本质上讲,根据我的经验,我主张将它们分开: memcached用于缓存,redis用于数据结构和更持久的存储
https://stackoverflow.com/questions/4188620
复制相似问题