我正在检索目录中的所有文件并缓存该值,这样就不必一次又一次地检索它
$memefiles = glob("usermemes/*.jpeg");
$total_pages = ceil(sizeof($memefiles)/$num_rec_per_page);
有什么方法可以缓存此结果,这样我就不必一次又一次地执行这些功能。
有很多优化或缓存的方法,最好的方法取决于您要缓存的内容,数量和所需的刷新频率。例子是
在这种情况下,我认为预先计算可以满足您的需求。只需将您的代码放在一个脚本中,calculate.php,即可将计算出的$total_pages
值保存到一个文件中:
<?
$memefiles = glob("usermemes/*.jpeg");
$total_pages = ceil(sizeof($memefiles)/$num_rec_per_page);
file_put_contents('totalpages.dat', $total_pages);
?>
现在设置一个cron作业,calcaulate.php
每1分钟,5分钟,每小时或您需要的时间运行一次。如果在Windows服务器上运行,则应改用Task Scheduler等效项。设置cronjobs非常容易,但是在系统和GUI /命令行工具之间会有所不同,如果您有现场服务器或使用专业的Web主机,则有所不同。因此,请在stackoverflow中搜索适合您特定情况的cron作业。
假设您正在执行cron作业,将的值保存$total_pages
到文件中,那么您将通过以下方式在网页上检索您的值:
$total_pages = file_get_contents('totalpages.dat');
这样可以保证提高需要交付$total_pages
价值的所有页面的性能。与公认的答案相比,此解决方案具有一些明显的优势:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句