Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Кэширование / 9 сообщений из 9, страница 1 из 1
14.10.2013, 17:16:35
    #38426976
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
День добрый. Есть запрос, который тянет данные из справочника. Запрос используется очень часто, сам справочник обновляется редко - условно раз в месяц(обновляется напрямую в базе или как-то не нашим приложением). Хочется его как-то закешировать и каждые часа четыре обновлять из базы. То что справочник в приложении будет какое-то время не актуальный - не важно. Используется Spring/Hibernate. Существуют ли какие-нибудь встроенные/красивые решения? А то руками смотреть сколько времени прошлого обновления как-то не очень красиво.
...
Рейтинг: 0 / 0
14.10.2013, 17:23:07
    #38426981
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
в хибернейте можно использовать кеш второго уровня. Посмотрите в документации аннотацию @Cache - там все понятно
...
Рейтинг: 0 / 0
14.10.2013, 17:23:21
    #38426982
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
Можно для определённой сущности настроить Read Only стратегию кеширования. Т.е. хибер прочитает один раз и будет хранить в кэше вечно. Особенно если кэш персистентный. А кэш этот можно скедулером инвалидировать. В EhCache, на сколько я помню, там разные сегменты под каждую сущность. Можно инвалидацию такого сегмента через API этого кэша и реализовать.
...
Рейтинг: 0 / 0
14.10.2013, 17:26:28
    #38426988
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
ivanraв хибернейте можно использовать кеш второго уровня. Посмотрите в документации аннотацию @Cache - там все понятно
Про кеш второго уровня я вроде в общем знаю. С ним не игрался, но как я понимаю, если в базе изменятся значения и изменятся не нашим приложением, то хибернейт и не узнает, что данные изменились. Или я ошибаюсь и этой проблемы там нет?
...
Рейтинг: 0 / 0
14.10.2013, 17:27:33
    #38426990
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
BlazkowiczА кэш этот можно скедулером инвалидировать.
А вот и как обходится :)
Спасибо за ответы)
...
Рейтинг: 0 / 0
14.10.2013, 17:30:09
    #38426999
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
ukkuИли я ошибаюсь и этой проблемы там нет?
Есть проблема. И не только с кешем второго уровня.
...
Рейтинг: 0 / 0
14.10.2013, 17:30:48
    #38427001
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
ukkuBlazkowiczА кэш этот можно скедулером инвалидировать.
А вот и как обходится :)
Спасибо за ответы)
Т.ю. так это же вы и написали: "каждые часа четыре обновлять из базы".
...
Рейтинг: 0 / 0
14.10.2013, 17:53:26
    #38427050
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
Да, я и написал "это то, что надо", только другими словами :)
...
Рейтинг: 0 / 0
14.10.2013, 18:03:47
    #38427070
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кэширование
у нас на проекте юзаем ehcache. Создали страничку под паролем, где всякие утилитарные функции, в том числе и посмотреть\проапдейтить кэш, никаких шедулеров - когда данные поменялись, тогда и скинули старые, работает на клстере без проблем через jms-репликацию веблоджика
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Кэширование / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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