Apache сам по себе не «кеширует» файл сеанса в память: Apache не имеет ничего общего с сеансом: это чисто нечто, связанное с PHP и не связанное с Apache.
Сам PHP также не "кэширует" файл сеанса в память: он записывает его на диск (И, для безопасности, операционная система, вероятно, действительно записывает этот файл на диск)
Использование базы данных может помочь, возможно, в доступе к диску; но это означало бы сетевое подключение к другому серверу, это заставило бы MySQL работать ... Не обязательно так здорово.
Вместо этого я бы предпочел использовать memcached для хранения моего сеанса; это сетевой демон (который работает в кластерах, что означает, что вы можете иметь несколько машин с серверами memcached - полезно, если на одном сервере недостаточно памяти) , который хранит данные в памяти.
И memcached довольно часто используется для хранения данных сеанса - в настоящее время я использую memcached для этого (среди прочего) в проекте.
См. раздел memcache руководства по PHP: вам нужно установить расширение PHP, если вы хотите общаться с memcached.