0

假设我们有一个由更多系统(Liferay 等)组成的复杂 Web 应用程序。

我还想在我的架构中包含一个用于缓存公共内容(例如由 Liferay 或其他内部服务产生)的 Web 缓存系统。

我在看Squid。您能否向我推荐其他技术,例如squid

是否有一些标准方法也可以在私有内容(用户注册)上应用缓存?

如何处理动态页面(例如带有其他公共和私有(仅限注册用户)的一些片段的jsp?

4

1 回答 1

1

如果您查看 squid,您正在查看的是 HTTP 级别的缓存。因此,每当有人登录到您的系统时,您都必须解决缓存问题:一旦用户名出现在页面上或检查了某些内容访问权限,您通常不能在 HTTP 级别缓存,而不是在用户的浏览器(或用于外部媒体,如 CSS、图像)。

对于 Liferay,您可以查看 Liferay 的 CDN 功能:您可以配置一个 CDN(内容交付网络),它寻址像反向代理一样工作的外部主机 - 这些将在门户服务页面时提供可缓存的内容(尤其是登录用户)

如果匿名访问的页面的所有内容都表明它是可缓存的,Liferay 还将向上游缓存发出信号,表明它们是可缓存的。这是自动的。我假设您不是在询问您需要在单个 portlet 中做什么以表明它们的内容是可缓存的。

你应该问问自己,你想解决什么问题(因为你只提到了这一技术,HTTP 级别缓存)。您是否进行了性能调优,这被认为是最大的瓶颈?您的大多数用户是匿名的还是登录的?当您明确要求缓存动态内容时:这通常无法完成,或者只能以有限的方式完成 - 例如,只能通过从生成 AJAX 代码的静态内容组合页面,获取真实内容。

于 2013-07-04T16:13:05.937 回答