Это может быть случай преждевременной оптимизации.
На мой взгляд, сложно создать качественный веб-сайт, если вы разрабатываете его с использованием состояния сеанса. HTTP является «не сохраняющим состояние», и хотя существуют абстракции, предназначенные для маскировки этого факта (например, сессия ASP.NET), вам часто приходится сталкиваться с правдой. Объект Session является хорошим инструментом для кэширования в памяти, но вы никогда не должны полагаться на его надежность. Другими словами, вы можете использовать его для оптимизации кода, но вам все равно всегда будет нужен код для полного восстановления базы данных в качестве запасного варианта.
Хранение Session в SQL - это способ попытаться обойти проблемы фермы серверов, но зачем беспокоиться, если вы пытаетесь вообще избежать базы данных? Имейте в виду, что, хотя вы можете повторять запросы для одних и тех же данных корзины покупок между запросами, сам SQL-сервер может выполнить большую часть кеширования и оптимизации для вас. Это может быть не так медленно, как вы думаете.
Что касается статических данных, соблюдайте осторожность. Переработка пула приложений может иногда нарушать эти данные в памяти, и вы должны быть очень осторожны, чтобы доступ к статическим данным, требующим инициализации при запуске, был повторным.