我们正在为频繁使用的网站设计缓存策略。 该网站由动态和静态内容组成。前端是PHP,中间层是Tomcat,后面是mysql。
仅通过HTTPS完成用户登录屏幕以保护凭据。之后,所有内容都通过纯HTTP提供。有些屏幕是特定于客户的(让我们说他的最后订单),而其他屏幕对每个人来说都很常见(最受欢迎的产品,促销,规则等)。
鉴于预期的流量,很明显我们需要一个全面的缓存策略。所以我们正在考虑以下选项:
我们可能会结合使用这些策略。
所以问题是,是否值得添加像Varnish这样的前端缓存,或者只是在里面使用Zend Cache?
我忘了提到的另一个选项是使用像Zend Cache这样的PHP级缓存并存储页面的片段。这接近我提到的第二个选项,但它内置在Zend框架中。
所以问题是,是否值得添加像Varnish这样的前端缓存,或者只是在里面使用Zend Cache?
再次感谢, Philopator。
答案 0 :(得分:1)
我做了很多像这样的项目,发现:
这些天我非常喜欢Varnish:它是一个单独的层,不会混乱Java / PHP代码,它快速而且非常灵活。缺点是vcl中的配置有点过于复杂。
我通常在内存存储中使用ehcache +以避免使用小数据集的延迟(例如数据库查询或服务请求),并在存在大量数据且需要由多个节点共享缓存时进行memcached。