|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
Начнём с простого: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Как зарегистрировать это в IoC-контейнере показывать, или сами догадаетесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 14:42 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
skyANA, Теперь тестами покажи что ТЗ выполнил. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:00 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
skyANA Начнём с простого: Тут скорее вопрос не в том, можно ли это сделать через декораторы, а можно ли сделать "хорошее кэш апи" через декораторы. Для каждого сервиса/репозитория писать свой декоратор? Через АОП это решается гораздо удобнее. Тот же spring cache как неплохой пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:24 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
SpringMan skyANA Начнём с простого: Тут скорее вопрос не в том, можно ли это сделать через декораторы, а можно ли сделать "хорошее кэш апи" через декораторы. Для каждого сервиса/репозитория писать свой декоратор? Через АОП это решается гораздо удобнее. Тот же spring cache как неплохой пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:26 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
SpringMan, Ну и в хибере есть два кеша. Второй выключен. Выше писал, что про ОРМ в тз непонятно. Написана фраза "структуры данных"))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:28 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
SpringMan, То есть с ОРМ есть кеш в спринге, хибере два штуки. Без ОРМ есть кеш на клиенте от драйвера. То есть он будет на АппСервере реально. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:32 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
skyANA, к примеру: https://spring.io/guides/gs/caching/ Код: java 1. 2. 3. 4. 5. 6.
Все в итоге сводится к аннотации над методом. Есть аналогичные @CacheEvict для инвалидации кешей и прочие мелкие радости ) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:34 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp SpringMan, То есть с ОРМ есть кеш в спринге, хибере два штуки. Без ОРМ есть кеш на клиенте от драйвера. То есть он будет на АппСервере реально. В моей жизни, в хибере обычно без второго уровня. Просто если надо, то кэшируют через спринг на уровне серисов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:36 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
SpringMan, Да. Там JPA рулит ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:45 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
skyANA PetroNotC Sharp skyANA, К топику шаблон привязать не получится. Тем более не программисту. Уже говорил, но вы забыли. Весь ваш опыт в шарп идет лесом в java. Так как вместо JPA у вас NPA который не применяют. Вместо спринга у вас EF, который совсем не спринг. И так далее. Пишите цветочный магазин. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:51 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
SpringMan skyANA, к примеру: https://spring.io/guides/gs/caching/ Код: java 1. 2. 3. 4. 5. 6.
Все в итоге сводится к аннотации над методом. Есть аналогичные @CacheEvict для инвалидации кешей и прочие мелкие радости ) тоесть если я правильно понял - то эта анотация делает следущее при образщении к этому методу создает кеш- и если при следущем обращении пользователь попросит ту же самую книгу -она достанется из кэша? и еще вопрос для каких систем это акутально - например для систем с ожидаемым количеством юзеров от 20 до 50 единомоментно есть смысл анотировать особо горячие методы? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:58 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
gycb, Нет смысла и даже вредно. У тебя база ненормализована и этот факт съедает все разговоры об эффективности кеша. Тормозит база, а ты снаружи пришлепку кеша)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 16:05 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
gycb тоесть если я правильно понял - то эта анотация делает следущее при образщении к этому методу создает кеш- и если при следущем обращении пользователь попросит ту же самую книгу -она достанется из кэша? и еще вопрос для каких систем это акутально - например для систем с ожидаемым количеством юзеров от 20 до 50 единомоментно есть смысл анотировать особо горячие методы? Концептуально, да. По сути она должна использовать javax.cache api (тут на 100% не уверен, всегда ли так - надо смотреть отдельно). Что и когда надо кэшировать это индивидуально: иногда помогает сильно, иногда больше проблем из-за инвалидации кэша и т.п. Тяжелые запросы, которые часто вызываются и редко меняют результат, - потенциально хорошее место для кеширования ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 16:08 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp skyANA пропущено... Не понял мысль. Уже говорил, но вы забыли. Весь ваш опыт в шарп идет лесом в java. Так как вместо JPA у вас NPA который не применяют. Вместо спринга у вас EF, который совсем не спринг. И так далее. Пишите цветочный магазин. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:03 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
skyANA, Вы съехали с темы. Передложили паттерн, покажите что решает задачу. Просили код? Вам пример кода спринга дали. Дальше никто ничего не обязан разжёвывать. Все работают. Некогда. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:09 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
Петя в своём репертуаре: флудит. В игнор. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:33 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
SpringMan skyANA, к примеру: https://spring.io/guides/gs/caching/ Код: java 1. 2. 3. 4. 5. 6.
Все в итоге сводится к аннотации над методом. Есть аналогичные @CacheEvict для инвалидации кешей и прочие мелкие радости )А на Save своя аннотация? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:35 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
skyANA Петя в своём репертуаре: флудит. В игнор. Уже и на майке писал, и скрипты всем раздавал. Игнорируй! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:40 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp skyANA Петя в своём репертуаре: флудит. В игнор. Уже и на майке писал, и скрипты всем раздавал. Игнорируй! Переключаюсь обратно на стандартный дизайн. Пока, Петя :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:43 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
skyANA, Еще раз попрощайся)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:49 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
skyANA А на Save своя аннотация? По сути с кешом что можно делать: положить значение для какого-то уникального ключа и сказать удалить его. Аннотации это и делают. @Cacheable - кладет в кэш (или берет, если уже есть), @CacheEvict - удаляет из кэша. Вот на save и надо @CacheEvict. Есть еще @CachePut, который всегда обновляет кэш - я им не пользовался, но по идее его над save-ом тоже можно/нужно использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 18:54 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
Ну дай бох. Spring для нас всегда создавал иллюзию полного контроля. Только вот где та самая золотая "середина"? С одной стороны можешь всю БД в себя втянуть. И с другой стороны сделать этот механизм бесполезным передаточным звеном. P.S. There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 19:42 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
mayton С одной стороны можешь всю БД в себя втянуть ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 19:53 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
mayton P.S. There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 20:01 |
|
Вытесняющий кэш для высоконагруженной системы?
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov GrossmasteR Уважаемые форумчане, здравствуйте! С рождеством! Нужен ваш совет. Очень нужно сделать тестовое задание. Уровень знаний: +- основы JDBC и сервлетов без Spring. Задание по ссылке. В какую сторону копать, пожалуйста, подскажите? https://drive.google.com/open?id=1kcLCYtCkzDwNs0cFpDIZ-VpyOiX_Y3ed Код для вытесняющий кэш для высоконагруженной системы. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Хорошего вам дня! Здравствуйте. Может быть у вас есть возможность объяснить, как это работает? Или что нужно читать/смотреть/изучать, чтобы в этом разобраться? Признаться, я когда получил это задание, первая мысль была, это что, на древнеегипетском? Это были небольшие оффлайн-курсы, после которых одна организация, в случае успешной защиты итогового проекта, обещалась позвать на собеседование. Итоговый проект был веб-сервис без использования Spring поисковая система: загружаешь текстовые файлы, вводишь поисковый запрос, получаешь файл со строчками в которых содержится поисковый запрос, желательно с многопоточностью. После итогового, они сказали, мол, ну будем считать, что на ваш код мы посмотрели, теперь дадим вам задание, чтобы посмотреть, как выдумаете. Серьезно? Это вот это вот посмотреть, как мы думаем? Над чем? Это что, новогодний розыгрыш был? Ну типа люди знали наш уровень, что мы худо бедно что-то понимаем в Java Syntax, Core, Collections, имеем какое-то отдаленное представление о Multithreading, SQL, JAVA EE. И дают вот такое задание, которое не похоже на задание для предJunior/Junior. Я до сих пор допускаю мысль, что они либо перепутали ТЗ, либо сделали это специально, чтобы нас слить по какой-то причине. Ладно с лирическим отступлением все. Как это изучить? Может быть какие-то книги/курсы есть? P.S. "...По времени жёсткой привязки нет, главное что бы соискатели озвучили срок и уложились в него..." А препод по курсам нам сказал: "По задачкам : они на самом деле не сложные, вам нужно просто: 1. Загуглить все умные слова и понять, что они значат 2. Упростить задачу (не переусложнять решение) - на самом деле оно на поверхности и достаточно просто гуглится (нужно будет изучить штук 5-6 ссылок в результатах Google)" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 20:09 |
|
|
start [/forum/topic.php?fid=59&msg=39912070&tid=2120923]: |
0ms |
get settings: |
26ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
516ms |
get tp. blocked users: |
1ms |
others: | 316ms |
total: | 1042ms |
0 / 0 |