![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| JVM |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 30.10.2006 Репутация: 1 Всего: 5 |
Есть некоторый список - допустим товаров. Этот список генегируется из базы и выводится пользователю. Далее пользователь выбирает товар(нажимает ссылку) и получает описание товара.
Список товаров на сервере я получаю в виде объектов. Выдираю id товаров и записываю как параметр в ссылку. После того как пользователь нажал на ссылку с товаром, на сервере идет запрос в базу данных на получение объекта выбранного товара. Стоит ли хранить в сессии список объектов товаров и после выбора товара не делать запрос в БД, а получать объект товара из сессии? |
|||
|
||||
| Llucas |
|
|||
![]() J2EE Developer ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 29.11.2006 Где: Одесса Репутация: нет Всего: нет |
Как вариант можно, правда стоит учитывать реальное количество пользователей, т.к. для нормальной работы размер занимаемой памяти сессией не должен быть большим.
|
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: 6 Всего: 14 |
По идее можно же хранить и в аппликэйшен контексте.
|
|||
|
||||
| JVM |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 30.10.2006 Репутация: 1 Всего: 5 |
Но тогда надо при первом обращении загружать эти данные, а при последующих запросах проверять были ли они загружены? Или можно по другому? А если список меняется в процессе работы приложения, то тогда как его обновлять? Если все же хранить в сессии то, если какие-нибудь численные показатели ограничивающие или разрешающие использовать такой подход? |
|||
|
||||
| shoura |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.10.2006 Репутация: нет Всего: нет |
Если никак нельзя оптимизировать запрос на список данных по скорости или так уж не хочется повторять эту процедуру много раз
я бы подумал о кэше ... Реализовать можно средствами движка для работы с бд (Hibernate,IBATIS) если используется или на худой конец через JCS. Это даст и гибкость по сравнению с хард-кодом через аппликэйшен парамсы. А если это слишком сложное решение то стоит ли вообще овчинка выделки? |
|||
|
||||
| necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
=) улыбнуло
разговр идет об реализации кэша =) библиотек написано уйма, самому можно реализорвать быстро при желании. Хранить можно по количеству и по времени как в сесси так и в апликации (товар то для всех одинаков). Если админ изменил товар(ы) обновлять весь кэш или один его элемент. теперь немного пораскинем мозгами: загрузил товары в сессию, а админ возьми да поменяй их из другой сесси. пользователь заказал товар а его то уже и нет такого? поэтому хранить общие данные лучше или в базе или в апликации. на самом деле задумыватся о кэше нужно уже когда приложение достаточно зрелое - тогда ищутся узке места и по возможности затыкаются. Это сообщение отредактировал(а) necromancer - 6.5.2008, 14:11 -------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |