1
49
假设从memcached迁移到redis进行缓存已经很容易了,那么我使用redis只是为了保持简单。 在redis中,持久性是可选的,所以如果您想要的话,可以像memcached那样使用它。您甚至可能会发现,使缓存持久化对于避免重新启动后出现大量缓存未命中非常有用。Expiry也可用-算法与memcached有点不同,但不足以满足大多数目的-请参阅 http://redis.io/commands/expire 详细情况。 |
2
44
我是
redis-store
,不需要直接使用Redis命令,只需使用
使用Redis的好处是速度快,用我的gem,你已经有了
|
3
19
我见过一些同时使用Memcached和Redis的大型rails站点。Memcached用于一些短暂的东西,这些东西在内存中保持热状态很好,但如果需要的话可以丢失/重新生成,而Redis则用于持久存储。两者都用于从主数据库中卸下负载,以执行读/写繁重的操作。 更多细节: 内存缓存: 用于页面/片段/响应缓存,并且可以在Memcached上达到内存限制,因为它将LRU(最近使用最少的一个)使旧的内容过期,并且经常使访问的密钥在内存中保持热状态。重要的是,如果需要,Memcached中的任何内容都可以从数据库中重新创建(这不是您的唯一副本)。但是你可以一直往里面扔东西,Memcached会找出哪些是最常用的,并把它们保存在内存中。您不必担心从Memcached中删除内容。 redis公司: 你用它来处理你不想丢失的数据,并且足够小,可以放在内存中。这通常包括resque/sidekiq作业、速率限制计数器、分割测试结果或任何您不想丢失/重新创建的内容。你不想超过这里的内存限制,所以你必须对以后存储和清理的内容更加小心。
Redis一旦超过内存限制就会出现性能问题(如果我错了,请纠正我)。通过将Redis配置成Memcached和LRU expire之类的东西,可以解决这个问题,所以它永远不会达到内存限制。但是你不想用你在Redis中保存的所有东西,比如resque jobs。因此,Rails.cache设置为使用Memcached(使用
可能有一种简单的方法可以在Redis中实现这一切——也许有两个单独的Redis实例,一个具有LRU硬内存限制,类似于Memcache,另一个用于持久存储?我还没见过这个用过,但我想它是可行的。 |
4
15
我会考虑看看我对这个问题的回答: Rails and caching, is it easy to switch between memcache and redis? 从本质上讲,根据我的经验,我主张将它们分开:memcached用于缓存,redis用于数据结构和更持久的存储 |
5
6
我问小组 Redis Labs (谁提供 Memcached Cloud 和 Redis Cloud 附加组件)关于他们推荐用于Rails缓存的产品。他们说,一般来说,他们会推荐Redis云,Memcached云主要是为遗留目的提供的,并指出他们的Memcached云服务实际上是建立在Redis云之上的。 |
6
4
我不知道你在用它们做什么,但实际上两者都能给你带来性能上的优势:Memcached比Redis在多个核上运行的性能要好得多,所以用Memcached缓存最重要的数据,其余的放在Redis中,利用它作为数据库的能力,可以提高性能。 |
Animesh Arya · 关联模型的Rspec 2 年前 |
Kellen · 查看$卷展栏功能列表 2 年前 |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
solidsnake99 · Rails db:如何绕过验证 2 年前 |
Spyros · 从数组中删除nil值,并从引用数组中删除相应的项 2 年前 |
Pauli-E · 当div打开并滚动到屏幕上时,向div添加类 2 年前 |
ejoka · 如何使用Rails 7模型属性作为CSS标记值 2 年前 |