服务器端的Web缓存系统



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

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

我正在查看Squid。你还可以向我推荐其他技术吗,比如squid

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

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

如果你看squid,你会看到HTTP级别的缓存。因此,每当有人登录到你的系统时,你都必须处理缓存:一旦用户名出现在页面上或检查了某些内容访问权限,你就不能在用户浏览器之外的HTTP级别(或CSS、图像等外部媒体)进行缓存。

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

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

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

最新更新