Существует много способов оптимизации или кэша, лучший способ зависит от того, что вы пытаетесь кэш, количество и желаемая частота обновления. Примерами являются
- магазин результат расчета в сессии, базу данных или файл - то искать его
- делать расчеты авансовых, LookUp их затем необходимо
- магазин ваши страницы (PHP вывод в файлы) и доставить хранится версии для пользователей
- использовать кеш/HTTP-ускоритель, например Varnish.
В этом случае, я думаю, что предварительный расчет удовлетворит ваши потребности. Проще говоря ваш код в один сценарий, calculate.php, который сохраняет вычисленный $total_pages
значение файла:
<?
$memefiles = glob("usermemes/*.jpeg");
$total_pages = ceil(sizeof($memefiles)/$num_rec_per_page);
file_put_contents('totalpages.dat', $total_pages);
?>
Теперь настройки хрон работу, работает calcaulate.php
каждые 1 минуту, 5 минут, каждый час или, что ваш потребности есть. Если вы работаете на сервере Windows, вместо этого вы должны использовать эквивалент планировщика заданий. Настройка cronjobs очень проста, но она различается между системами и инструментами GUI/командной строки, есть разница, если у вас есть сервер на месте или используется профессиональный веб-хост. Таким образом, поиск stackoverflow для заданий cron соответствует вашей конкретной ситуации.
Если у вас есть работа хрон до запуска, сохранения значения $total_pages
в файл, то вы запрашиваете свою ценность на веб-странице с помощью
$total_pages = file_get_contents('totalpages.dat');
Это будет по гарантии повысить производительность всех страниц, нуждающихся в доставке значения $total_pages
. По сравнению с accepted answer, это решение имеет ряд существенных преимуществ:
- задача запущенной только один раз, каждый раз, независимо от того, если у вас есть 1, 10000 или 1.000.000 пользователей/pageloads.
- пользователи могут получать почти свежие или почти живые данные. Как свежие определяются частотой cronjob.
можно дублировать http://stackoverflow.com/questions/4432727/caching-variables-in-php –
Что об использовании куки –