2016-03-31 8 views
0

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

+0

Похоже, что какое-то приложение мастера, где вы захватываете детали через несколько форм, и пользователь может перемещаться туда и сюда при вводе данных. Как только пользователь завершит работу мастера и выполнит ввод данных, каковы шансы, что он вернется к тому же потоку мастера, чтобы обновить данные. И для меня это выглядит как однократное действие, и как только пользователь будет сделан, он не будет обновлять эти данные слишком часто (я имею в виду не каждые 10-15 минут или около того). Являются ли эти справедливые допущения? –

ответ

1

Несколько предположений я делаю в отношении применения:

  1. Это выглядит как мастеров вид графического интерфейс веб-приложение, где пользователь деталь через многочисленные формы и пользователь может перемещаться вперед и назад при вводе данных ,
  2. Эти данные относятся только к пользователю.

Учитывая, что я предпочел бы хранить эти данные в объеме HttpSession или Conversation (например, session scoped action forms or @ConverstaionScoped в зависимости от каркаса JSF/Struts ) etc rather than зимуют второго уровня cache`.

Причина в том,

  1. Данные, специфичные для пользователя. Хранение данных, которые часто получают доступ (горячие данные) приложением в целом (не специфичным для пользователя) в кеше второго уровня, приводит к тому, что вы избегаете круглых поездок DB и повышения производительности.
  2. Поскольку данные, специфичные для пользователя, HttpSession - это лучшее место для хранения этих данных, так как каждый пользователь связан с его собственным объектом HttpSession.
+1

Я бы даже указал @ConversationScoped - мастер является точным прецедентом для этой области. –

+0

@Flavius ​​Я бы согласился с этим и хотел бы упомянуть об этом. –