Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как корректно использовать write()?


Автор: RESIN 11.10.2011, 20:35
Даже стыдно было тему создавать...

На моем сайте хочу сделать кэширование большого вложенного списка (ul) в файл, т.к. сейчас для каждого пользователя происходит 2+m*n запросов к БД, где m~60 и n~80, и выбрать данные меньшим количеством запросов, по некоторым причинам, ну никак не получается. Моя идея состоит в том, что по окончании работы с БД, администратор нажимает кнопку "Обновить для пользователей", данные из БД один раз записываются в нужной мне форме в файл "cash.php", затем этот"cash.php"  просто инклюдится везде, где необходимо вывести их пользователю.

И собственно вопрос:

Как правильно писать в текстовый файл построчно? Использовать write() для каждой строки, не обращая внимание на их количество, или сформировать большой массив строк / большую строку, и в конце один раз использовать write()? Нагрузка на хост критична...


Автор: MoLeX 12.10.2011, 07:33
Цитата(RESIN @  11.10.2011,  20:35 Найти цитируемый пост)
Как правильно писать в текстовый файл построчно? Использовать write() для каждой строки, не обращая внимание на их количество, или сформировать большой массив строк / большую строку, и в конце один раз использовать write()? Нагрузка на хост критична...

конечно один раз. 


Цитата(RESIN @  11.10.2011,  20:35 Найти цитируемый пост)
На моем сайте хочу сделать кэширование большого вложенного списка (ul) в файл, т.к. сейчас для каждого пользователя происходит 2+m*n запросов к БД, где m~60 и n~80, и выбрать данные меньшим количеством запросов, по некоторым причинам, ну никак не получается. Моя идея состоит в том, что по окончании работы с БД, администратор нажимает кнопку "Обновить для пользователей", данные из БД один раз записываются в нужной мне форме в файл "cash.php", затем этот"cash.php"  просто инклюдится везде, где необходимо вывести их пользователю.

для всех пользователей информация одна и та же? если нет, то кнопку делать не надо. При запросе пользователя создавать этот файл и в дальнейшем его использовать.

Автор: Absinthe 12.10.2011, 09:44
Цитата

Нагрузка на хост критична...
 Зависит от размера файла. Если большой - то много раз, но кусками большими(по 1мб, к примеру)

Автор: RESIN 15.10.2011, 13:16
Всем огромное спасибо, вопрос исчерпан! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)