Всем доброго времени суток! Столкнулся с одной глупой, но все же важной для меня проблемой. Имеется огромный массив данных (~200тыс. строковых переменных). На инициализацию всего массива требуется 0.2 секунды. Появилась необходимость ускорить загрузку данных, так как при каждой загрузке страницы переменные обновляются снова и снова. Можно ли как-то прогрузить этот массив один раз, чтобы при последующих загрузках страницы использовать уже существующий массив? И правильно ли я понимаю, что это работа для mysql? Заранее спасибо.
Если вам всегда нужны все 200к строк, то: 1) Если массив неизменен, пишите его в файл, потом цепляйте с подключенным OPCache. Он один раз скомпилится и будет готов к работе. 2) Если массив меняется, но доступ к нему нужен постоянно, смотрите в сторону memcache и иже с ним. Если вам не нужны все 200к строк разом, а, в момент времени нужна одна, две или десяток, да даже если только сотня из них, то не морочьте себе голову и прикрутите к проекту БД, чтобы потом дергать оттуда только то, что вам нужно, как нужно и сколько нужно.
APCu тут лучше, он сидит внутри пхп и позволяет сохранить в себя переменную пхп как есть, и извлечь тоже. Это как раз очень ускорит. А то из мемкеша если забрать 200к строк и потом ещё распаковать - это тоже усилие и нагрузка на проц и память. А так будет один объект сидеть в апц и круто.