Cron作业生成html页面?或者最好让用户运行php脚本


Cron jobs to generate html pages? Or better to have user run php script?

我对web开发相当陌生,有一个关于页面生成和效率的问题。我知道如何创建cron作业,并想知道什么被认为是更好的,我应该运行一个cron作业(说每小时)建立一组新的html页面基于我的数据库中的信息,或者我的页面上的所有链接应该是生成html页面的php脚本?对于一些应用程序,我可以理解为什么每当用户请求时必须创建页面-因为内容会频繁更改,但这只是一个个人作品集类型的网站,就数据库中的新条目而言,它将有相当稀疏和小的更新。现在我只是链接到php脚本,但它似乎是无用的重新计算,因为95%的时间没有什么会改变,并不是真正的时间敏感(我总是可以添加一个自动推送,当我更新内容无论如何-在这种情况下,它甚至不需要cron作业)。顺便说一句,我确实在网站上建立了一个受保护的管理员页面,这样我就可以更新内容,而不必一直进入代码。想法吗?

使用cronjob生成HTML将过于复杂。你可以使用像Varnish这样的缓存系统。清漆会帮你完成所有繁重的工作。

它是这样工作的:-用户1去你的网页- Varnish处理请求,这是对页面的第一个请求,所以Varnish会告诉Apache/PHP生成页面-用户1得到你的网页- Varnish将此网页存储到它的缓存中(作为html)-用户2访问网页- Varnish在它的缓存中有页面,它会把它发送给用户(这次非常快,因为页面不需要再次生成)

的好处是你不需要维护你的cronjob,你可以只保留你的旧URL。

当然,Varnish只是众多可能的缓存解决方案之一。

这似乎是一个自定义缓存问题。为什么不直接使用APC之类的东西来缓存,而不是自己做呢?清除APC缓存上的任何新条目,这就完成了。