За последние 24 часа нас посетили 22056 программистов и 989 роботов. Сейчас ищет 671 программист ...

Объявление огромного массива данных

Тема в разделе "Вопросы от блондинок", создана пользователем impossiblesl, 21 мар 2017.

  1. impossiblesl

    impossiblesl Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    3
    Симпатии:
    0
    Всем доброго времени суток! Столкнулся с одной глупой, но все же важной для меня проблемой. Имеется огромный массив данных (~200тыс. строковых переменных). На инициализацию всего массива требуется 0.2 секунды. Появилась необходимость ускорить загрузку данных, так как при каждой загрузке страницы переменные обновляются снова и снова. Можно ли как-то прогрузить этот массив один раз, чтобы при последующих загрузках страницы использовать уже существующий массив? И правильно ли я понимаю, что это работа для mysql? Заранее спасибо.
     
  2. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    в массиве постоянно 200 тысяч строк?
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    APCu кеш идеально ложится на задачу
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Если вам всегда нужны все 200к строк, то:
    1) Если массив неизменен, пишите его в файл, потом цепляйте с подключенным OPCache. Он один раз скомпилится и будет готов к работе.
    2) Если массив меняется, но доступ к нему нужен постоянно, смотрите в сторону memcache и иже с ним.

    Если вам не нужны все 200к строк разом, а, в момент времени нужна одна, две или десяток, да даже если только сотня из них, то не морочьте себе голову и прикрутите к проекту БД, чтобы потом дергать оттуда только то, что вам нужно, как нужно и сколько нужно.
     
  5. impossiblesl

    impossiblesl Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    3
    Симпатии:
    0
    Спасибо Вам огромное! Очень помогли!
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    APCu тут лучше, он сидит внутри пхп и позволяет сохранить в себя переменную пхп как есть, и извлечь тоже. Это как раз очень ускорит. А то из мемкеша если забрать 200к строк и потом ещё распаковать - это тоже усилие и нагрузка на проц и память. А так будет один объект сидеть в апц и круто.