首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用memcache(d)是否过早优化?

使用memcache(d)是否过早优化?
EN

Stack Overflow用户
提问于 2011-12-10 06:17:48
回答 3查看 411关注 0票数 2

我正在开发一个甚至还没有在线的网络应用程序。现在实现模缓存梅卡奇是否为时尚早?我是否应该在下列情况下才使用它:

  • 网络应用已经启动,而且
  • 由于高流量/负载,数据库的性能很差?

还是更好地在开发过程中实现?

另外,在哪些情况下,使用缓存接口是不必要的,甚至是不鼓励的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-10 06:25:28

了解你的问题空间

参见memcached自己的wiki:

使用memcached可以使我的应用程序变慢吗? 是的,完全正确。如果您的DB查询都是快速的,那么您的网站是快速的,添加memcached可能不会使它更快。

先让它起作用

任何优化之前,你有一个稳定的,工作的产品是不成熟的。您将花费所有的时间摆弄对应用程序没有任何性能影响的旋钮。

你最好的办法是让它进入工作状态,然后做几件事:

剖面性能

在收集性能数据之前,您将不知道瓶颈到底在哪里。很可能是在你没考虑过的地方。

识别优化收益

评估每个问题领域的潜在性能改进。优先考虑那些能给你带来最佳投资回报的领域。在某些情况下,最好的ROI可能是更多的硬件。

实现优化

一旦确定了需要优化的内容,就创建一个计划并实现它。

资料来源

  • http://code.google.com/p/memcached/wiki/NewProgrammingFAQ
票数 4
EN

Stack Overflow用户

发布于 2011-12-10 06:44:00

完全不是,memcache只是一个外部存储(它是快速和分布式的),

不折不扣

另外,在哪些情况下,使用缓存接口是不必要的,甚至是不鼓励的?

可能不应该用于关键数据,例如事务。

票数 0
EN

Stack Overflow用户

发布于 2011-12-15 10:38:52

其实,这个问题有两个答案:

首先,正如Will Bickford所提到的,您必须避免过早的优化。您必须有一个工作应用程序来确定可能从性能改进中受益的位置。只有在此之后,您才能尝试应用缓存。

第二,为将来的负载设计应用程序。这意味着在开始编写代码之前,您应该尝试回答以下问题:“如果应用程序必须处理负载,比方说,比现在计划的负载多10,000倍,那么我的设计将如何改变?”这通常会导致一种更高级的(就像贯穿式的)设计,它可以扩展到多个服务器,并且需要在服务器之间共享状态,因此需要分布式缓存。如果你不回答这个问题,你很有可能迟早要重写你的应用程序。

换句话说,设计面向未来,实现面向今天。

希望这能有所帮助。

斯拉瓦·伊米涅夫

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8454834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档