В общем суть вопроса такова, есть массив ключ => значение из порядка более чем 200 ячеек.
В массиве хранится текущая локаль.
как и где лучше хранить данный массив? (думаю лучше в файле? в каком виде? *.ini или .txt(serialize array))
как лучше его использовать с точки зрения оптимизации? подгрузить его при старте и при нужде обращаться к нему или дергать его тогда когда это нужно? на странице выводится порядка 20 элементов.
На данный момент сделал так *ini вида:
hello_world = 'привет мир'
world = 'мир'
при загрузке приложения происходит
$array = parse_ini_file($filename);
т.е лучше это дело реализовать так и хранить это дело в ini файле было глупой идеей?
меня интересует именно оптимизированный вариант, т.к когда наплодить кучу кода в проекте, а потом понять что тот или иной механизм реализован неправильно и создает излишнюю нагрузку было бы печально)
Не зря же именно такое решение использует тот же laravel.
А если вы будите использовать php 5.6 и opcache, то предложенный вариант тоже упадет в кэш, а в случае подключения и чтения текстового файла такого не будет.
возник один вопрос немного отдаленный но возможно вы в курсе.
На данный момент в приложении реализован такой механизм, при первом обращении к БД результат кешируется сериализуется полученный массив и сохраняется в файле на сервере и в последущем обращении если есть этот файл то результат берется от туда, сделал простой скрипт microtime загрузки страницы и скажу что прирост вырос раза в три. Так вот, будет ли эффективен данный механизи если на сайт пойдут посещения порядка 5 или 10т человек?
вопрос немного отдаленный, лучше дергать файл или БД? (на что будет нагрузки меньше?)
т.е лучше дернуть файл 10 раз чем 1? Может я не так Вас понял, ведь там нужно найти значение, а это означает что нужно загрузить весь файл, я ведь написал что на странице выводятся порядка 20 элементов массива.
Виталий IIIFX Хоменко: по требованию это как?
ну вот допустим в данном случаем на главной странице нужно выводить 10 элементов этого массива, логично ведь что нужно загрузить его полностью и обратится к отдельным ячейкам?
Mikhail Osher: т.е получается в данной ситуации нет больше выхода кроме как загрузить массив на точке входа?) т.к его элементы используются практически везде т.к это локаль)