我有一个动态网站,从数据库生成大量数据,但数据库内容很少变化(每周大约1-3次)。这些更改是手动和控制的。
我没有使用动态网站的开销,而是更喜欢使用静态页面。我在争论什么是最好的解决方案:
卷曲/ wget的/蜘蛛
这question提到了它。我看到的缺点可能是:
代理
我可以使用代理将静态页面缓存一定天数。缺点:
使用程序生成静态页面
我当前的选择:我使用perl程序从动态内容生成静态页面。这不能很好地扩展,因为我必须硬编码很多HTML,尤其是页面结构
还有其他方法吗?你/你喜欢什么?
答案 0 :(得分:4)
具有较长过期时间的Memcache基本全页缓存。 Tag extension可能允许您仅使选定范围的页面无效。
答案 1 :(得分:2)
您希望以这种方式执行此操作的任何特定原因,而不是仅设置database caching解决方案以阻止查询实际上必须访问数据库吗?
是否可能取决于您网站上的动态数据量以及服务器中可用的内存量,但它不会出现您担心的任何问题。
答案 2 :(得分:1)
我会像你现在这样做,使用脚本生成静态页面。您可以使用模板系统来避免每次都编写新的HTML。
答案 3 :(得分:0)
您尚未提及尽快向用户显示已更改的数据的重要性。
我们已成功使用代理缓存来处理我们的网站,以处理获得大量点击的动态网页。根据我们希望客户多久看到更新的数据,我们为每个类别保留了不同的缓存时间。