如果Varnish存在,为什么要使用memcached

时间:2017-01-26 10:12:06

标签: caching nginx memcached varnish

我正在尝试构建一个webapp(具有大量DYNAMIC内容),我需要一些缓存系统来提高性能。目前我正在使用带有负载均衡器的nginx。

我将varnish看作是一个http代理,用于直接从缓存中响应并避免向nginx发送请求。

稍后我会看看memcached,一个很好的键值对缓存在RAM中。

现在,如果我可以使用varnish缓存我的所有请求并为频繁更改的动态内容设置一个小TTL,那么为什么我需要一个系统作为memcached?例如?

我应该仅使用varnish作为静态内容并使用memcached管理动态内容?

对所有请求使用varnish是不好的做法,并且清除系统(对于动态内容)是一项繁重的任务吗?

我有点困惑......谢谢

1 个答案:

答案 0 :(得分:3)

Varnish + Memcached是一个非常有意义的组合。

通常,网络应用有来宾和登录区域:

Varnish通过缓存访客区域帮助完全绕过PHP引擎执行,允许您在那里设置高TTL。 示例:向访客用户显示的文章内容。

当 Varnish缓存(即登录用户)不满足请求时,Memcached将帮助缓解 PHP引擎的负担。 存储的常见事项包括繁重的SQL查询和其他瞬态数据的结果,每次PHP运行时重新生成都很昂贵。