У меня проблема с памятью в PHP. Я должен получить огромный отчет, таблицу с большим количеством информации.Недостаточно памяти в PHP
Эта информация получена также с помощью некоторых сложных функций, что означает, что она не может быть получена по просьбе пользователя, так как ему потребуется подождать около 5 минут для отображения информации.
Я кэшировал результат, но по мере роста информации браузер теперь просто падает и ничего не показывает. Каковы возможные решения для этого?
Я думал о сохранении данных в mysql вместо кеша, а затем выполнял несколько выборок, когда пользователь запрашивает информацию. Что вы думаете об этом решении? Какие-нибудь другие варианты?
Update
Похоже, проблема не была понята, поэтому я добавляю больше деталей.
Поиск уже используется. Следует иметь в виду много вопросов:
1) Сама информация должна быть рассчитана. У меня работает cron, который строит его (занимает 5 минут) и сохраняет его в кеше. Браузер - это просто рендеринг из кеша, и поиск выполняет поиск по этим кэшированным данным. Информация не может быть получена в режиме реального времени. 2) Именно поэтому я думал о сохранении вычисленных результатов в MySQL, таким образом поиск может искать в таблице MySQL, а не искать кешированные данные (которые сейчас и сейчас невозможно обрабатывать браузером).
Надеюсь, проблема теперь более ясна!
Вы действительно получаете сбоя браузера ? Если это так, я сомневаюсь, что действительно важно, как вы получаете информацию, отправленную в браузер. –
Я бы предложил разбиение на страницы, если это возможно. Дайте информацию в кусках. Добавьте поиск для пользователей, чтобы им не нужно было перебирать каждую страницу в разбивке на страницы. Я думаю, что проблема не в объеме памяти, а в том, сколько обработанного браузера содержимого. – Eugene
Я не думаю, что все правильно. Вы запускаете скрипт, который должен выполнять некоторые огромные вычисления через браузер? Это не очень мудро. – dierre