Я интенсивно использую движок кэширования в PHPExcel (используя APC, сериализацию объектов, php: // temp, дисковое хранилище, SQLite в памяти, memcache и другие опции), который может работать с огромными числами (несколько миллионов) ) из клеточных объектов. Проблема заключается в уменьшении накладных расходов памяти за счет выделения как можно большего количества ограниченной памяти php при одновременном стремлении поддерживать разумную скорость выполнения: любой кэш ячеек, в котором хранятся данные вне PHP-памяти, неизменно увеличивает накладные расходы на скорость выполнения.
Сериализация данных с использованием igbinary - хороший компромисс, но вы все равно можете выйти за пределы памяти. Это примерно так же быстро, как встроенный в сериализацию PHP, но гораздо более эффективный с точки зрения сжатия данных.
Я бы сказал, чтобы сделать как можно больше с базой данных, потому что базы данных предназначены для такой работы.