Для реализации хранилища данных (или любого иного хранилища) следует использовать session_set_save_handler(), чтобы создать набор пользовательских функций хранилища. Обработчики сессий можно создать, используя класс SessionHandlerInterface, или расширить внутренние обработчики PHP, унаследовав класс SessionHandler.
   Функции обратного вызова, указанные в session_set_save_handler(), являются методами,
   вызываемыми PHP в течение жизненного цикла сессии: open, read,
   write и close и для служебных задач:
   destroy для удаления сессии и gc для периодической
   сборки мусора.
  
   Следовательно, в PHP всегда необходимы обработчики, сохраняющие сессии. По умолчанию работает
   внутренний обработчик 'files', сохраняющий сессии в файлы. Пользовательский обработчик может быть установлен,
   используя функцию session_set_save_handler(). Альтернативные обработчики для сохранения сессии
   также доступны в модулях PHP, таких как sqlite,
   memcache и memcached и могут быть установлены с помощью
   session.save_handler.
  
   Когда стартует сессия, PHP внутренне вызовет обработчик open с последующим
   вызовом обработчика read, который должен вернуть закодированную строку - в точности такую,
   какая передавалась для сохранения. После возвращения обработчиком read закодированной строки, PHP
   декодирует её и заполнит получившимся массивом суперглобальный массив $_SESSION.
  
   Когда PHP завершает исполнение скрипта (или когда вызвана функция session_write_close()),
   PHP внутренне закодирует суперглобальный массив $_SESSION, и передаст
   эти данные с идентификатором сессии функции обратного вызова write.
   После того, как отработает функция обратного вызова write, PHP внутренне вызовет
   обработчик функции обратного вызова close.
  
   Когда сессия специально уничтожена, PHP вызовет обработчик destroy с
   идентификатором сессии.
  
   PHP будет вызывать обработчик функции обратного вызова gc время от времени,
  чтобы пометить сессии как истёкшие в соответствии с временем жизни сессий.
  Эта операция удалит все записи из постоянного хранилища, доступ к которым не осуществлялся
  более чем интервал времени, указанный в параметре $lifetime.
  
