假设有一个MySQL数据存储区,你何时不想在Ruby on Rails应用程序中使用memcached?
答案 0 :(得分:10)
如果您的应用程序能够快速处理所有请求,请不要使用memcached。在编写应用程序时,添加memcached是额外的心理开销,所以除非你需要,否则不要这样做。
答案 1 :(得分:6)
Memcache是一个强大的分布式缓存,但对于某些内容来说,并不比本地缓存快。缓存应该允许您避免瓶颈,这通常是数据库请求和网络请求。如果您可以在本地将整个页面作为HTML缓存,因为它不会经常更改(不是非常动态),那么您的Web服务器可以比查询内存缓存更快地提供服务。如果您的memcache服务器(如大多数memcached服务器)位于单独的计算机上,则尤其如此。
翻转的一面是我有时会在本地使用memcache而不是其他缓存选项,因为我知道有一天我需要将它移到自己的服务器上。
答案 2 :(得分:4)
memcached的主要好处是它是一个分布式缓存。这意味着您可以生成一次,并从多个服务器的缓存中提供服务(这就是创建memcached的原因)。所有以前的答案似乎都忽略了这一点 - 这让我想知道他们是否曾经不得不构建一个高度可扩展的应用程序(这正是memcached的用途)
Danga Interactive开发了memcached 提高速度 LiveJournal.com,这是一个网站 已经做了2000万+动态页面 100万用户每天的观看次数 一堆网络服务器和一堆 数据库服务器。 memcached掉线了 数据库加载到几乎没有, 产生更快的页面加载时间 用户,更好的资源利用率, 并且可以更快地访问数据库 记得小姐。
(我的粗体)
所以答案是:如果你的应用程序只能部署在一台服务器上。
如果您可能使用多个服务器(可扩展性和冗余),memcached(几乎)总是一个好主意。
答案 3 :(得分:0)
当您希望对即将到期的事情进行细粒度控制时。从我的测试来看,memcached似乎只有大约一秒的时间分辨率。
EG:如果你告诉某事在1秒内过期,它可以保持1到2秒之间。