我们正在为一个频繁使用的网站设计缓存策略。该网站由动态和静态内容的混合组成。前端是PHP,中间层是Tomcat,后面是mysql。
仅通过 HTTPS 完成用户登录屏幕以保护凭据。之后,所有内容都通过纯 HTTP 提供。一些屏幕是特定于客户的(比如说他的最后一个订单),而其他屏幕对每个人都是通用的(最流行的产品、促销、规则等)。
鉴于预期的流量,很明显我们需要一个全面的缓存策略。所以我们正在考虑以下选项:
- 将 Squid 或 Varnish 放在 PHP 前面,并配置它来缓存所有公共内容,甚至是客户的订单提交表单。
- 使用 PHP 的 memcached 缓存页面片段(如最流行的产品)
- 在中间层/tomcats 中实现缓存(即在将内容返回到 Web 服务器之前,尝试从本地缓存中获取它,例如 ehcache)
- 使用诸如 Zend Cache 之类的 PHP 级缓存并将页面片段存储在那里。这与我提到的第二个选项很接近,但它内置在 Zend 框架中。
我们可能会使用这些策略的组合。
所以问题是是否值得像 Varnish 一样添加前端缓存,还是只在里面使用 Zend Cache?
我忘记提及的另一个选项是使用 PHP 级别的缓存,例如 Zend Cache,并在那里存储页面的片段。这与我提到的第二个选项很接近,但它内置在 Zend 框架中。
所以问题是是否值得像 Varnish 一样添加前端缓存,还是只在里面使用 Zend Cache?
再次感谢,Philopator。