php - php 中的 cron 作业命中 100 多个动态 url 以缓存页面

标签 php curl cron wget

我们使用后端专有数据库向我们网站上的 100 多个动态页面提供数据。 URL 的格式为 www.example.com/blah?id=1、www.example.com/blah?id=2 等。由于数据检索速度太慢,这些页面最多可能需要 5 秒才能加载(因为我们正在连接的数据库)。

我的目标是编写一个 cron 作业(用 PHP),它将“循环”并向我们所有的动态页面发出请求,以便它们被缓存(我们为这些页面提供 24 小时缓存)。

我最好的方法是使用嵌入了“wget”命令并忽略输出的 PHP 脚本吗?如果愿意,我可以访问 cURL。编写将访问 100 个 URL 的脚本只是为了缓存页面是否存在性能问题?我们当然会在夜间非高峰时段运行。

感谢您对此的任何指导!

最佳答案

我建议使用 multi-cURL 来完成这项工作。这样,您的请求将彼此并行运行。

您可以使用 built-in PHP functions 来做到这一点,但我建议使用包装它们的众多类之一:

https://github.com/jmathai/php-multi-curl

http://curl.haxx.se/libcurl/php/examples/multi.html

关于php - php 中的 cron 作业命中 100 多个动态 url 以缓存页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233427/

相关文章:

linux - curl 命令不通过 bash 中的 shell 脚本执行

java - 在spring计划任务中触发python脚本

php - 统计与论坛相关的帖子总数 - PHP Logic

javascript - 如何从 javascript 文件发送等效的 curl 命令?

php - 用于 postgreSQL 的 ssh 隧道

php - 如何使用 Laravel 直接从 https 直接链接上传文件到 ftp 服务器

php - 在 PHP 中使用 cron 管理器

cron - 是否有可能在不到一个小时的时间内安排好 gitlab pipeline ?

php - 需要帮助让 Fine Uploader PHP 服务器示例正常工作

PHP如何在方法内部使用类实例