powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Кэширование
9 сообщений из 9, страница 1 из 1
Кэширование
    #38426976
ukku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый. Есть запрос, который тянет данные из справочника. Запрос используется очень часто, сам справочник обновляется редко - условно раз в месяц(обновляется напрямую в базе или как-то не нашим приложением). Хочется его как-то закешировать и каждые часа четыре обновлять из базы. То что справочник в приложении будет какое-то время не актуальный - не важно. Используется Spring/Hibernate. Существуют ли какие-нибудь встроенные/красивые решения? А то руками смотреть сколько времени прошлого обновления как-то не очень красиво.
...
Рейтинг: 0 / 0
Кэширование
    #38426981
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в хибернейте можно использовать кеш второго уровня. Посмотрите в документации аннотацию @Cache - там все понятно
...
Рейтинг: 0 / 0
Кэширование
    #38426982
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно для определённой сущности настроить Read Only стратегию кеширования. Т.е. хибер прочитает один раз и будет хранить в кэше вечно. Особенно если кэш персистентный. А кэш этот можно скедулером инвалидировать. В EhCache, на сколько я помню, там разные сегменты под каждую сущность. Можно инвалидацию такого сегмента через API этого кэша и реализовать.
...
Рейтинг: 0 / 0
Кэширование
    #38426988
ukku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanraв хибернейте можно использовать кеш второго уровня. Посмотрите в документации аннотацию @Cache - там все понятно
Про кеш второго уровня я вроде в общем знаю. С ним не игрался, но как я понимаю, если в базе изменятся значения и изменятся не нашим приложением, то хибернейт и не узнает, что данные изменились. Или я ошибаюсь и этой проблемы там нет?
...
Рейтинг: 0 / 0
Кэширование
    #38426990
ukku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczА кэш этот можно скедулером инвалидировать.
А вот и как обходится :)
Спасибо за ответы)
...
Рейтинг: 0 / 0
Кэширование
    #38426999
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukkuИли я ошибаюсь и этой проблемы там нет?
Есть проблема. И не только с кешем второго уровня.
...
Рейтинг: 0 / 0
Кэширование
    #38427001
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukkuBlazkowiczА кэш этот можно скедулером инвалидировать.
А вот и как обходится :)
Спасибо за ответы)
Т.ю. так это же вы и написали: "каждые часа четыре обновлять из базы".
...
Рейтинг: 0 / 0
Кэширование
    #38427050
ukku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, я и написал "это то, что надо", только другими словами :)
...
Рейтинг: 0 / 0
Кэширование
    #38427070
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у нас на проекте юзаем ehcache. Создали страничку под паролем, где всякие утилитарные функции, в том числе и посмотреть\проапдейтить кэш, никаких шедулеров - когда данные поменялись, тогда и скинули старые, работает на клстере без проблем через jms-репликацию веблоджика
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Кэширование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]