Q:

Unserialize тормозит сервер

Здравствуйте!  Сообщения пользователей хранятся в бд MYSQL.  Для более быстрой загрузки создаётся файл {ID_Пользователя}.txt и в этот файл функцией serialize записывается массив всех сообщений пользователя.  Когда массив слишком велик, то unserialize слишком долго десериализирует массив.  Файл используется как кэш из бд сообщений пользователя.  Подскажите как лучше этот процесс оптимизировать (про кэшерирование данных с бд). 

A:

Разделите этот массив на блоки по N сообщений в файл.  К примеру создайте для пользователя папочку {userId} и туда пихайте файлы с сообщениями, например по 1000 сообщений (msg0.txt - означает что там лежат с 0 по 999 записи, msg1.txt - записи с 1000 по 1999 и т.д.).  Дальше когда грузите данные загружайте последний M файлов, если пользователю надо посмотреть больше информации догружайте еще M файлов.