кеш сессии веб-приложения

Я хочу кешировать данные для пользовательского сеанса в веб-приложении, построенном на Struts. Каков наилучший способ сделать это? В настоящее время мы храним определенную информацию из БД в Java-объектах в пользовательском сеансе. Работает хорошо до сих пор, но люди сейчас беспокоиться об использовании памяти и т.д. Любая мысль о том, как лучше обойти эту проблему.

26.08.2009 21:01:08
2 ОТВЕТА
РЕШЕНИЕ

По этой причине обычно плохо хранить целые объекты в пользовательской сессии. Вероятно, вам следует хранить только ключи в сеансе и повторно запрашивать базу данных, когда они вам понадобятся снова. Это компромисс, но обычно приемлемый для большинства случаев использования. Запросы к базе данных по ключам обычно допустимы между запросами, а не для хранения объектов в сеансе.

Если вы должны иметь их в сеансе, рассмотрите возможность использования чего-то вроде LRUMap (в коллекциях Apache).

0
26.08.2009 21:09:01

До сих пор работает нормально, но сейчас люди беспокоятся об использовании памяти и т. Д.

Быть «заинтересованным» относительно бессмысленно - есть ли у него какая-то конкретная причина для этого? Статистические данные, которые показывают, сколько объектов сеанса памяти занимают? В том же духе: есть ли у вас конкретные причины для кэширования данных в пользовательской сессии? Вы профилировали приложение и определили, что выборка этих данных из БД для каждого запроса значительно замедляет ваше приложение?

Не угадай Мера.

2
26.08.2009 21:36:52