StUV
Rotaredom
Сессии или регулярное обращение к БД ?
Есть таблица в БД (MySQL), описывающая основные разделы сайта (сейчас 50, предвидится не более 150). Записи описывают структуру сайта в виде дерева (id, pid, level, short_caption, ... + разные флаги и дескрипторы). Сейчас все организовано так, что при заходе на сайт все дерево качается из базы, анализируется, создаются дополнительные массивы для ускорения навигации и обработки данных и все это пишется в переменные класса с набором функций для обработки данных. Этот класс в конце работы скриптов сохраняется в сериализованном виде в сессию и, при переходе на другие разделы сайта все указанные операции не повторяются - структура сайта вытягивается из сессии и по id раздела строится страница.
Вопросы вот какие:
1. при росте кол-ва разделов обратил внимание, что уже сейчас сессионный файл занимает ~10Кбайт - много это или нет ?
2. не лучше ли было бы при заходе на раздел вытаскивать запись из базы по id раздела, обрабатывать (при этом может потребоваться выкачать из базы инфо всех предков раздела до корня - но уровней больше 5-6 не предвидется) и хранить в сессии только основные флаги (авторизация и т.п.) - таблица ведь небольшая и запрос должен выполняться достаточно быстро ?
Посоветуйте плиз. Или, может быть, идея с такой структурой изначально некорректна ?
Всем спасибо.
Есть таблица в БД (MySQL), описывающая основные разделы сайта (сейчас 50, предвидится не более 150). Записи описывают структуру сайта в виде дерева (id, pid, level, short_caption, ... + разные флаги и дескрипторы). Сейчас все организовано так, что при заходе на сайт все дерево качается из базы, анализируется, создаются дополнительные массивы для ускорения навигации и обработки данных и все это пишется в переменные класса с набором функций для обработки данных. Этот класс в конце работы скриптов сохраняется в сериализованном виде в сессию и, при переходе на другие разделы сайта все указанные операции не повторяются - структура сайта вытягивается из сессии и по id раздела строится страница.
Вопросы вот какие:
1. при росте кол-ва разделов обратил внимание, что уже сейчас сессионный файл занимает ~10Кбайт - много это или нет ?
2. не лучше ли было бы при заходе на раздел вытаскивать запись из базы по id раздела, обрабатывать (при этом может потребоваться выкачать из базы инфо всех предков раздела до корня - но уровней больше 5-6 не предвидется) и хранить в сессии только основные флаги (авторизация и т.п.) - таблица ведь небольшая и запрос должен выполняться достаточно быстро ?
Посоветуйте плиз. Или, может быть, идея с такой структурой изначально некорректна ?
Всем спасибо.