кеш сессии веб-приложения - PullRequest
0 голосов
/ 27 августа 2009

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

Ответы [ 2 ]

2 голосов
/ 27 августа 2009

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

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

Не угадай. Измерить.

0 голосов
/ 27 августа 2009

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

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

...