Я создал веб-приложение весеннего mvc. Мои меню - это база данных, то есть они хранятся в базах данных. Всякий раз, когда я вызываю index.jsp
, который является моей домашней страницей из другого браузера, элементы меню извлекаются каждый раз из базы данных. Как сохранить элементы меню в глобальной переменной, доступ к которой можно получить в любое время, не удаляя базу данных еще раз или до тех пор, пока я не перезапущу сервер.Глобальные переменные весной mvc
ответ
Вы требование может быть достаточно, в 2-х направлениях:
кэш сервера:
Используйте некоторые с открытым исходным кодом библиотека кэш-сервер, как ehcache, который позволяет хранить данные (ваши данные приложения или данных, извлекаемых из базы данных или данные, полученные от какого-либо стороннего вызова приложения) в памяти сервера. Идея заключается в том, что вместо того, чтобы выполнять тот же сторонний вызов, который, как ожидается, даст тот же результат, сделайте это один раз, а затем сохраните его в кеше сервера.
Ehcache хорошо работает с Spring framework, и на самом деле мы используем ehcache для кеширования на стороне сервера для нашего корпоративного приложения, которое основано на Spring framework. хранение базы данныхBrowser:
HTML5 обеспечивает IndexedDB API, который позволяет хранить данные в базе данных браузера.
Итак, вы можете получить данные с сервера один раз, а затем сохранить их в локальной базе данных, тогда всякий раз, когда вам нужны данные, вы можете сначала проверить, присутствует ли она в локальной базе данных, или нет, а затем извлекать и хранить в локальной базе данных, иначе выбор из локального db.
Преимущество такого подхода заключается в том, что вы можете сэкономить даже на сервере, поэтому меньше сетевого трафика.
В зависимости от вашего требования вы можете выбрать один из вариантов.
Я бы не рекомендовал хранить данные, которые извлекаются из базы данных, в глобальных переменных. Это действительно не масштабируемый подход.
Вы можете найти множество онлайн-уроки, но 1 показывают, что в каждом конкретном случае:
Спасибо. Чтение о EHCACHE. Попробует его реализовать. Также спасибо за обмен полезными ссылками – user3509208
Не проблема приятель. – hagrawal
звучит, как вы, возможно, захотите реализовать кэширование на уровне JPA для статического данные. –
У вас есть ссылка на любой учебник или образец, к которому я могу обратиться? – user3509208
Это не так, как работает этот сайт. Вы также не дали нам никакого кода для начала. У вас есть направление; дать ему немного исследований и вернуться с конкретными проблемами, когда вы сталкиваетесь с ними. –