@jvmchat

Страница 2474 из 2890
Wystan
17.05.2018
11:51:49
господа а как присоеднить редис кэщ к хибернейту? Чтобы в джейсоны сериализовать и не падать в обморк от proxy objects если в энтити какие-то joinы указаны?

Митко Соловец?
17.05.2018
11:52:33
используй апач игнат или хэзелкаст

как кэш L2

Wystan
17.05.2018
11:53:01
чо за кэш l2 если у меня несколько инстансев аппликухи

Google
Sergey
17.05.2018
11:53:10
хазелкаст тогда

Митко Соловец?
17.05.2018
11:53:21
так же напомню, сериализовать весь граф у сущности - плохая идея и редко когда так требуется, на уровне бизнес-логики обычно управляют как и что маппить

Sergey
17.05.2018
11:53:25
это дистрибьютед кэш и хибернейт с ним дружит

Митко Соловец?
17.05.2018
11:53:28
интеграция из коробки

Wystan
17.05.2018
11:54:03
я пишу вот так перед jpa методом`@CacheEvict(keyGenerator = "findAllByStatusInForCollectionListKeyGenerator" )`, он делает джава - сериализацию, и прокси объекты я и не трогаю когда достаю из кэша

Паша
17.05.2018
11:54:05
плюсану что HZ работает, делали так. В вопросе непонятно, причем тут JSON

Митко Соловец?
17.05.2018
11:54:09
еще можно для поисков сделать построение документов из нормализированной схемы бд и запихивать в эластик

и искать по нему

Wystan
17.05.2018
11:54:17
Мне бы просто чтобы то же решение, но прокси в нуллы сериалидовать

Митко Соловец?
17.05.2018
11:54:27
это будет совсем быстро

Google
Wystan
17.05.2018
11:54:40
Паша
17.05.2018
11:54:58
Ох, кмон. Это тебе не надо

Митко Соловец?
17.05.2018
11:55:00
https://ignite.apache.org/use-cases/caching/hibernate-l2-cache.html

Wystan
17.05.2018
11:55:02
Но этот спринговый кэш использует редис

Sergey
17.05.2018
11:55:16
а что тебе мешает сделать не редис?

Паша
17.05.2018
11:55:18
У него много реализаций доступных под капотом

Sergey
17.05.2018
11:55:25
а что нибудь дистрибьютед

Wystan
17.05.2018
11:55:33
Я понял, что есть игнит и хазелкаст. Но у меня уже есть редис, не хочу что-то еще добавлять в проект

Митко Соловец?
17.05.2018
11:56:39
271 звезда - слабовато

чистый кастом

Wystan
17.05.2018
11:56:57
да смущает количество звездочек

Митко Соловец?
17.05.2018
11:56:57
официально редис и хибер не дружат

а то что ты скинул - это похоже на кэш запросов, не более

query cache

не L2 cache

Alexander
17.05.2018
11:57:20
Я понял, что есть игнит и хазелкаст. Но у меня уже есть редис, не хочу что-то еще добавлять в проект
так в чем проблема сделать игната кэшом базы, халезя кэшом игната и редиса кэшом халезя

Alexander
17.05.2018
11:57:26
да на джаве у проектов вообще мало звездочек. только те что под андроид или прямо офигеть какая полезная либа.

Alexander
17.05.2018
11:57:26
а - архитектура

Wystan
17.05.2018
11:57:34
Да, мне нужны только запросы. Ну и иногда их обнулять, если редко что-то меняется

Google
Alexander
17.05.2018
11:58:32
игнат всем нужен, не придумывай

дал бог базу - даст и хазелькаст

Митко Соловец?
17.05.2018
11:58:46
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-caching.html

31.1 Supported Cache Providers 7 пункт

guga
17.05.2018
11:59:06
дал бог базу - даст и хазелькаст
а если база и есть хазелкаст

Alexander
17.05.2018
11:59:24
не вижу проблем накрутить еще и игната на нее

Митко Соловец?
17.05.2018
11:59:25
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-caching.html#boot-features-caching-provider-redis

Alexander
17.05.2018
11:59:31
и кэширование в редисе

Митко Соловец?
17.05.2018
11:59:58
да 1 ссылка в гугле

Mikhail
17.05.2018
12:00:15
да на джаве у проектов вообще мало звездочек. только те что под андроид или прямо офигеть какая полезная либа.
У каких-нибудь говнокомпонентов для реакта звездочек больше, чем у всех джавовских проектов вместе взятых. Так что вообще не показатель

Митко Соловец?
17.05.2018
12:00:19
чисто без игнатов и хазелов

Wystan
17.05.2018
12:00:50
он не сильно гуглил наверное
там проблема, что с джейсонами не дружит

Митко Соловец?
17.05.2018
12:01:07
какими джэйсонами, где?

Wystan
17.05.2018
12:01:45
у тебя есть fooRepository{ @Cached Collection<Foo> getAll() }

Вот эта коллекция хранится в редисе как джава - сериализованные объекты.

Хочется, чего-то более читабельного, поэтому и спросил.

Митко Соловец?
17.05.2018
12:02:31
те лэзи поля не хранятся

Google
Митко Соловец?
17.05.2018
12:02:35
ты это имеешь в виду?

Wystan
17.05.2018
12:02:41
Да

Митко Соловец?
17.05.2018
12:02:48
так потому что это не кэш 2 уровня

а просто кэш запросов

Wystan
17.05.2018
12:03:11
Они хранятся как прокси обджекты и это нормально. Но если ты делаешь сериализацию в джейсон руками, то прокси пыатеся достать объекты, что неприятно.

Митко Соловец?
17.05.2018
12:03:12
поэтом тебе предложили 3 варианта - игнат, хэзел и поделка с гитхаба для редиски

выбирай

Wystan
17.05.2018
12:03:28
Но если я хочу оставить просто кэш запросов?

Митко Соловец?
17.05.2018
12:03:43
оставляй

я уже не пойму чего ты хочешь

с тобой тяжело

Wystan
17.05.2018
12:04:09
Я в начале неправильно сформулировал, я потом уточнил, что использую cache evict. Прошу прощения за неточность.

Вопрос, есть ли кеш запросов на редисе с json сериализацией?

Митко Соловец?
17.05.2018
12:06:07
в dto сначала сущности кладешь?

я с трудом понял, что ты хочешь

Паша
17.05.2018
12:07:07
Вопрос, есть ли кеш запросов на редисе с json сериализацией?
сериализацию afair ты можешь любую прикрутить, но сам. Из коробок будет какая-нибудь java нативная или kryo если повезет :)

Митко Соловец?
17.05.2018
12:07:25
тебе просто кэш запросов нужен не на уровне репозитория спринга, а после переливки энтити в дто или твою джэйсонину

по идее на уровне сервисного слоя - слоя БЛ

редис будет хранить уже смапленные джава объекты

Wystan
17.05.2018
12:08:46
А ты соображаешь.

Google
Wystan
17.05.2018
12:09:07
Да это второе решение, просто там надо продублицировать немножко логики со связанными сущностями.

А что, неужели кэши запросов особо не используют? Всем l2 кеша хватает? он же дороже

Sergey
17.05.2018
12:11:26
А кэш запросов хранит весь граф объектов?

С лейзи полями?

Это просто вопрос, мне интересно стало

Wystan
17.05.2018
12:12:09
Нет, он хранит только то, что явно в query было указано

Sergey
17.05.2018
12:12:21
Справедливо

Не хиберовский, а спринговый @кэшабл

На уровне сервисов

М, так то прикольно, подержу пока в голове

Wystan
17.05.2018
12:14:14
Ну, да я перенесу кэш в в api (Controller -> @Cached api -> repository) и продублирую логику.

Мне показалось, что его можно использовать на repository, а потом как-то подружить с hibernate кэшом в будущем, если возникнет необходимость. НО, видимо, не самая удачная мысль

Паша
17.05.2018
12:16:01
Ну, да я перенесу кэш в в api (Controller -> @Cached api -> repository) и продублирую логику.
ты же понимаешь, что тебе нужно будет руками на все UPDATE/DELETE-запросы навесить инвалидацию его?

Wystan
17.05.2018
12:16:57
Ну, придется обновлять его, да ;(

Митко Соловец?
17.05.2018
12:17:34
но так пожелал человек спрашивающий

я бы сразу L2 кэш внешний юзал

Sergey
17.05.2018
12:18:15
Я бы тоже, хазелькаст с полпинка завелся

Wystan
17.05.2018
12:28:14
Ок, уговорили. Не буду велосипедить.

Страница 2474 из 2890