Varnish与Apache的memcache/d相比如何?

4

我有一个使用Apache和MySQL数据库的HTML网站。我想加快Apache服务器的响应时间。我想知道应该采取哪种方法?我在Google上读到Varnish与Apache一起使用。所以我有两个问题:

  1. 我能否在Apache中使用Memcache?
  2. 如果可以,那么Memcache和Varnish哪个更好?

1个回答

14

比较Varnish和Memcached就像比较苹果和橙子。Varnish是一个缓存反向HTTP代理,它位于您的Apache Web服务器前面。而另一方面,Memcached则是一个分布式对象缓存系统。例如,它可以用来缓存从MySQL服务器检索到的内容。

不知道您的网站具体情况,我认为Varnish是最简单的方法。理论上,您可以只将其放在Apache之前,并使页面飞速运行。当然,在实际情况下并非如此。您需要根据自己的需求调整Varnish以有效地处理cookie、缓存禁止等问题。

Memcached需要更改您的代码。您需要查看代码,找出哪些地方可以从缓存中获得优势,并根据需要进行更改。

无论是Varnish还是Memcached都没有提供插件解决方案来加速您的网站,但两者都是帮助您实现该目标的绝佳工具。


我想补充一点,使用Varnish缓存的情况下,你的网站很可能需要进行一些更改。Varnish不会设置cookies,并且不适合缓存任何动态页面(例如购物车、账户页面、联系表单等)。如果你只是有一个简单的博客,并且使用AJAX或某些外部服务来处理评论,那么使用Varnish可能是理想的选择。同时,最好能够在你更新网站页面时有选择性地清除Varnish缓存。 - runamok

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接