生成静态版“动态”网站的最佳方式

时间:2009-04-08 21:16:10

标签: perl dynamic-content

我有一个动态网站,从数据库生成大量数据,但数据库内容很少变化(每周大约1-3次)。这些更改是手动和控制的。

我没有使用动态网站的开销,而是更喜欢使用静态页面。我在争论什么是最好的解决方案:

卷曲/ wget的/蜘蛛

question提到了它。我看到的缺点可能是:

  • 需要手动清理(链接,缺少图像等)
  • 无法混合静态和动态页面

代理

我可以使用代理将静态页面缓存一定天数。缺点:

  • 难以管理每个页面的缓存
  • 需要在每次手动更改后清除缓存吗?

使用程序生成静态页面

我当前的选择:我使用perl程序从动态内容生成静态页面。这不能很好地扩展,因为我必须硬编码很多HTML,尤其是页面结构

还有其他方法吗?你/你喜欢什么?

4 个答案:

答案 0 :(得分:4)

具有较长过期时间的Memcache基本全页缓存。 Tag extension可能允许您仅使选定范围的页面无效。

答案 1 :(得分:2)

您希望以这种方式执行此操作的任何特定原因,而不是仅设置database caching解决方案以阻止查询实际上必须访问数据库吗?

是否可能取决于您网站上的动态数据量以及服务器中可用的内存量,但它不会出现您担心的任何问题。

答案 2 :(得分:1)

我会像你现在这样做,使用脚本生成静态页面。您可以使用模板系统来避免每次都编写新的HTML。

答案 3 :(得分:0)

您尚未提及尽快向用户显示已更改的数据的重要性。

我们已成功使用代理缓存来处理我们的网站,以处理获得大量点击的动态网页。根据我们希望客户多久看到更新的数据,我们为每个类别保留了不同的缓存时间。