2015-08-30 3 views
-1

Я создал веб-приложение весеннего mvc. Мои меню - это база данных, то есть они хранятся в базах данных. Всякий раз, когда я вызываю index.jsp, который является моей домашней страницей из другого браузера, элементы меню извлекаются каждый раз из базы данных. Как сохранить элементы меню в глобальной переменной, доступ к которой можно получить в любое время, не удаляя базу данных еще раз или до тех пор, пока я не перезапущу сервер.Глобальные переменные весной mvc

+0

звучит, как вы, возможно, захотите реализовать кэширование на уровне JPA для статического данные. –

+0

У вас есть ссылка на любой учебник или образец, к которому я могу обратиться? – user3509208

+1

Это не так, как работает этот сайт. Вы также не дали нам никакого кода для начала. У вас есть направление; дать ему немного исследований и вернуться с конкретными проблемами, когда вы сталкиваетесь с ними. –

ответ

2

Вы требование может быть достаточно, в 2-х направлениях:

  1. кэш сервера:
    Используйте некоторые с открытым исходным кодом библиотека кэш-сервер, как ehcache, который позволяет хранить данные (ваши данные приложения или данных, извлекаемых из базы данных или данные, полученные от какого-либо стороннего вызова приложения) в памяти сервера. Идея заключается в том, что вместо того, чтобы выполнять тот же сторонний вызов, который, как ожидается, даст тот же результат, сделайте это один раз, а затем сохраните его в кеше сервера.
    Ehcache хорошо работает с Spring framework, и на самом деле мы используем ehcache для кеширования на стороне сервера для нашего корпоративного приложения, которое основано на Spring framework. хранение базы данных

  2. Browser:
    HTML5 обеспечивает IndexedDB API, который позволяет хранить данные в базе данных браузера.
    Итак, вы можете получить данные с сервера один раз, а затем сохранить их в локальной базе данных, тогда всякий раз, когда вам нужны данные, вы можете сначала проверить, присутствует ли она в локальной базе данных, или нет, а затем извлекать и хранить в локальной базе данных, иначе выбор из локального db.
    Преимущество такого подхода заключается в том, что вы можете сэкономить даже на сервере, поэтому меньше сетевого трафика.

В зависимости от вашего требования вы можете выбрать один из вариантов.

Я бы не рекомендовал хранить данные, которые извлекаются из базы данных, в глобальных переменных. Это действительно не масштабируемый подход.

Вы можете найти множество онлайн-уроки, но 1 показывают, что в каждом конкретном случае:

+0

Спасибо. Чтение о EHCACHE. Попробует его реализовать. Также спасибо за обмен полезными ссылками – user3509208

+0

Не проблема приятель. – hagrawal