我正在尝试构建一个webapp(具有大量DYNAMIC内容),我需要一些缓存系统来提高性能。目前我正在使用带有负载均衡器的nginx。
我将varnish看作是一个http代理,用于直接从缓存中响应并避免向nginx发送请求。
稍后我会看看memcached,一个很好的键值对缓存在RAM中。
现在,如果我可以使用varnish缓存我的所有请求并为频繁更改的动态内容设置一个小TTL,那么为什么我需要一个系统作为memcached?例如?
我应该仅使用varnish作为静态内容并使用memcached管理动态内容?
对所有请求使用varnish是不好的做法,并且清除系统(对于动态内容)是一项繁重的任务吗?
我有点困惑......谢谢
答案 0 :(得分:3)
Varnish + Memcached是一个非常有意义的组合。
通常,网络应用有来宾和登录区域:
Varnish通过缓存访客区域帮助完全绕过PHP引擎执行,允许您在那里设置高TTL。 示例:向访客用户显示的文章内容。
当 Varnish缓存(即登录用户)不满足请求时,Memcached将帮助缓解 PHP引擎的负担。 存储的常见事项包括繁重的SQL查询和其他瞬态数据的结果,每次PHP运行时重新生成都很昂贵。