gpt4 book ai didi

java - 我如何缓存由 java servlet 动态创建的页面以便可重用和可索引

转载 作者:行者123 更新时间:2023-11-28 22:55:27 24 4
gpt4 key购买 nike

我使用 Amazon Web Services 和 Tomcat 来部署 Java 应用程序。

该应用程序包含艺术家数据的 Lucene 索引和允许用户搜索音乐艺术家(例如麦当娜、披头士乐队)的网站,然后它将以 html 的形式返回从索引生成的关于该艺术家的信息页。索引不会改变,因此为特定艺术家生成的页面永远不会改变。我不想预先计算页面,因为这会花费很长时间(超过一百万页)并且需要大量空间,但我确实希望缓存这些页面,以便:

  1. 搜索艺术家可以返回现有页面而不是重新创建它。
  2. 我希望网页被 Google 抓取并编入索引,以便它们可以在 Google 搜索中返回。

我该怎么做(我有很多 Java 经验,但没有太多网站经验)

当我说索引永远不会改变时,我的意思是部署的应用程序使用相同的索引,并且该索引永远不会被修改。大约每月一次,将创建一个新索引,并使用新索引重新部署应用程序。

最佳答案

在页面上设置一些缓存 header ,以便页面存储更长的时间(例如几天),将 tomcat 移至其他主机名,然后设置 amazon cloudfront 以将 tomcat 作为源服务器。

然后最后设置 CNAME DNS 记录以将 www.yourdomain.com 指向云端

当您更新索引时,只需告诉 cloudfront 使其整个缓存无效即可。

这是我能想到的最懒惰的方法。 (但如果有更懒惰的方法,我愿意接受建议。)

关于java - 我如何缓存由 java servlet 动态创建的页面以便可重用和可索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28456798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com