Как сказано в комментариях, было бы лучше проверить, нельзя ли сначала устранить корень проблемы.Обход, который долго звучит как проблема конфигурации сети.
В противном случае, если БД просто имеет такую медленную скорость, ничто не говорит против кеша на основе файловой системы.Вы можете превратить каждый запрос в хеш md5()
и использовать его в качестве имени файла.Serialize()
набор результатов в файл и получить его оттуда.Используйте filemtime()
, чтобы определить, старше ли файл кэша, чем x часов.Если это так, сгенерируйте запрос - или на самом деле, чтобы избежать проблем с блокировкой файлов кэша, используйте задание cron для его восстановления.
Просто обратите внимание, что таким образом вы будете иметь дело с целыми наборами результатов, которыеВы должны загрузить в память вашего скрипта все сразу.У вас не было бы возможности запрашивать набор результатов строка за строкой.Это можно сделать и в кешированном виде, но это сложнее.