假设一个MySQL数据存储,您何时不想在Ruby on Rails应用程序中使用memcached?何时不想在Ruby on Rails应用程序中使用memcached?
回答
Memcache是一个强大的分布式缓存,但是对于某些内容来说速度并不比本地缓存快。缓存应该可以避免瓶颈,通常是数据库请求和网络请求。如果您可以将整个页面缓存在HTML本地,因为它不会经常更改(不是很动态),那么您的Web服务器可以比查询内存缓存更快地提供服务。如果您的memcache服务器(如大多数memcached服务器)位于单独的计算机上,则情况尤其如此。
翻转这一点是我有时会在本地使用memcache而不是其他缓存选项,因为我知道有一天我需要将它移到它自己的服务器上。
如果您的应用程序能够快速处理所有请求,请不要使用memcached。在编写应用程序时,添加memcached会带来额外的精神负担,因此除非需要,否则不要这样做。
Scaling的“one swell problem to have”。
+1。关闭w/memcached启动新应用程序是过早优化。不要从一开始就添加不必要的复杂性! – 2008-09-30 18:02:56
@Matt - 有时你只知道你的应用程序需要扩展多少,并且需要缓存。从头开始添加memcached(或任何分布式缓存)并不总是*过早优化。 – DanSingerman 2009-04-01 22:40:49
当您想要对过期的事物进行细粒度控制时。从我的测试中,memcached似乎只有大约一秒的时间分辨率。 EG:如果你告诉某些东西在1秒内到期,它可能会停留在1到2秒之间。
memcached的主要好处是它是一个分布式的缓存。这意味着您可以生成一次,并通过多个服务器的缓存提供服务(这就是创建memcached的原因)。以前所有的答案似乎忽略这一点 - 它使我怀疑他们是否有过建立一个高度可扩展的应用程序(这正是memcached是为)
Danga Interactive公司开发的memcached 提升 速度LiveJournal.com,一个网站是 已经做了2000万+动态页面 每天100万用户与 一堆web服务器和一堆 数据库服务器。 memcached下降了 数据库加载到几乎没有, 产生更快的页面加载时间为 用户,更好的资源利用率, 和更快地访问数据库 memcache未命中。
(我的粗体)
所以答案是:如果你的应用是永远只可能被部署在一台服务器上。
如果您有可能使用多个服务器(对于可伸缩性和冗余性),memcached(几乎)总是一个好主意。
- 1. Ruby on Rails应用程序
- 2. Payfort在Ruby On Rails应用程序
- 3. Embedly API调用不想在Ruby中工作on Rails应用程序
- 4. 何时在Ruby on Rails中使用lambda?
- 5. 使用Solr在Production中设置Ruby on Rails应用程序
- 6. 在ruby-on-rails应用程序中使用kineticjs
- 7. 在Ruby on Rails应用程序中使用客户端SSL
- 8. 部署Ruby on Rails时出错使用Passenger的应用程序
- 9. Ruby On Rails - Myspace应用程序开发
- 10. 验证Ruby on Rails应用程序
- 11. Ruby on Rails事件应用程序
- 12. Ruby on rails应用程序根目录
- 13. 调试Ruby on Rails应用程序1.9.2
- 14. VoIP + Ruby on Rails web应用程序
- 15. 简单的Ruby on Rails应用程序
- 16. Shopify应用程序 - 在Ruby on Rails上使用脚本标记应用程序
- 17. 我正在使用Ruby on Rails应用程序
- 18. 的Ruby on Rails应用程序(在Ubuntu)+ AWS使用LBS
- 19. 如何在Ruby on Rails应用程序中标记id:?
- 20. 如何在Ruby on Rails中测试聊天应用程序?
- 21. 如何在Ruby on Rails应用程序中添加通知?
- 22. 如何在Ruby On Rails应用程序中处理Thumbs.db文件
- 23. 如何在Ruby on Rails中开发模块化应用程序
- 24. 如何在Ruby on Rails应用程序中配置GEM
- 25. Ruby on Rails - 使用时间
- 26. Cloud9上的Ruby on Rails应用程序“在Heroku上不存在”
- 27. Ruby on Rails应用程序中的实时聊天
- 28. 的Ruby on Rails应用程序不能在部署
- 29. 引导提示中的Ruby on Rails应用程序不工作
- 30. 我何时想使用Ruby On Rails子模块?
你是什么意思'时'?你想在memcache中存储哪些数据? – unexist 2008-09-30 16:40:05
Scaling Rails屏幕演示系列是一个很棒的系列,可以帮助您确定要使用什么缓存以及何时使用。 – nitecoder 2009-08-27 07:44:04