Сессии в базе данных?

Беру записи с бд и рендомлю их.
Создаю массив с этими, уже срендомленными данными.
Чтобы "всегда" иметь этот готовый массив - записываю его в сессию.
Получаю ошибку CookieOverflow из-за 4кб ограничения.
Нахожу решение в виде хранения сессии ActiveRecordStore.

И возникает вопрос - правильное ли это решение, хранить сессии в дб?
Или может лучше только готовый массив записать в дб?
  • Вопрос задан
  • 3812 просмотров
Решения вопроса 1
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
храните временные данные в кеше, а точнее в redis, ничего в сессию не записывайте.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Vakiliy
@Vakiliy
Если нагрузка не большая, то можно и в бд, но смысла особого нет.
Из коробки, помимо CookieStore доступны, MemCacheStore (для работы нужен gem dalli), CacheStore.

Подключаются тут: config/initializers/session_store.rb, пример использования CacheStore:
Rails.application.config.session_store :cache_store, key: '_super_app_session_key'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы