Предел данных, которые вы можете хранить внутри сессии, ограничен слоем хранения сессии. Хранилище сеансов по умолчанию - файловая система, и один сеанс хранится в одном файле. Имя переменной сеанса / ключа массива сохраняется вместе с данными в сериализованной форме . Символ канала отделяет имена и значения переменных друг от друга.
Если вы храните массивы со строками, размер файла будет таким же, как длина строк, плюс длина ключей и небольшие накладные расходы для метаданных, а также размер имен переменных.
Размер файла ограничен файловой системой. Например, в EXT3 это 16 гигабайт на файл. Так что это одно "слишком много". Вы не можете хранить больше данных в сеансе, чем позволяет уровень хранения.
Следующий предел, который я могу вспомнить, - это предел вашей памяти. Так как PHP необходимо загрузить данные из файла в память и сохранить их из памяти в файл в конце запроса. Так что если у вас есть ограничение памяти в PHP , то это фактически ограничит также размер вашей сессии. Например, стандартное ограничение памяти в PHP 5.2 составляет 16 МБ, но это может варьироваться в зависимости от вашей установки.
Кстати, использование всей памяти для сессии не имеет особого смысла.
Рядом с этими жесткими ограничениями могут быть ограничения производительности, связанные с количеством постоянных запросов, скоростью вашего жесткого диска и т. Д.
Поскольку ваш вопрос довольно короткий, я предполагаю, что вы до сих пор не сталкивались с какими-либо конкретными проблемами, поэтому я думаю, что это будет выходить за рамки. Например. использование memcached, если вам это не нужно, было бы только накладными расходами. А также обсуждение проектных решений (никогда не кэшируйте в сессиях), на которые вообще нельзя ответить.
100 или 200 килобайт на сессию (найдите каталог сессий в вашей системе и посмотрите, насколько большими будут файлы), не должны нарушать вашу программу. Как и предполагалось, вам следует позаботиться о том, чтобы старые ненужные файлы сеансов больше не удалялись через определенный промежуток времени автоматически.
Чтобы узнать больше о конфигурации вашего сеанса в PHP, см. Настройка времени выполнения сеанса в руководстве по PHP .