4

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

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

卷曲/wget/蜘蛛

这个问题提到了它。我看到的缺点可能是:

  • 需要手动清理(链接、丢失的图像等)
  • 不能混合静态和动态页面

代理

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

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

使用程序生成静态页面

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

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

4

4 回答 4

4

Memcache 基础全页缓存,过期时间长。标签扩展可以让您仅使选定的页面范围无效。

于 2009-04-08T21:29:18.187 回答
2

您想这样做的任何特殊原因,而不是仅仅设置数据库缓存解决方案来阻止查询实际上必须访问数据库?

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

于 2009-04-08T21:20:20.363 回答
1

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

于 2009-04-08T21:50:55.763 回答
0

您没有提到尽​​快向用户显示更改的数据的重要性。

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

于 2009-04-09T08:10:27.133 回答