А что в тренде сейчас для кэша?
От: peer  
Дата: 03.03.23 14:01
Оценка:
Привет

Есть веб приложение под .net core в котором много где идет считывание из базы разных справочников. некоторые меняются редко (раз в сутки и реже), некоторые могут чаще, но всё равно не раз в минуту.
Подскажите что в качестве кэша можно использовать чтобы убрать частые обращения в базе?
и второй вопрос. если справочник изменился какие есть механизмы обновления кэша для измененной таблицы?
Re: А что в тренде сейчас для кэша?
От: wildwind Россия  
Дата: 03.03.23 14:18
Оценка:
Здравствуйте, peer, Вы писали:

P>Подскажите что в качестве кэша можно использовать чтобы убрать частые обращения в базе?


А зачем их убирать? База не справляется?

P>и второй вопрос. если справочник изменился какие есть механизмы обновления кэша для измененной таблицы?


Про две самых сложных проблемы в computer science ты конечно в курсе?
Re[2]: А что в тренде сейчас для кэша?
От: peer  
Дата: 03.03.23 14:29
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, peer, Вы писали:


P>>Подскажите что в качестве кэша можно использовать чтобы убрать частые обращения в базе?


W>А зачем их убирать? База не справляется?


в пики, раз в месяц, бывает что страниа на гет даже не открывается, не то что апдейт в базе сделать

P>>и второй вопрос. если справочник изменился какие есть механизмы обновления кэша для измененной таблицы?


W>Про две самых сложных проблемы в computer science ты конечно в курсе?


думал это многопоточность и дедлоки?
Re[3]: А что в тренде сейчас для кэша?
От: Alex.Che  
Дата: 03.03.23 14:39
Оценка:
Здравствуйте, peer, Вы писали:

P>в пики, раз в месяц, бывает что страниа на гет даже не открывается, не то что апдейт в базе сделать


что показывают в это время средства мониторига базы?
Re[3]: А что в тренде сейчас для кэша?
От: wildwind Россия  
Дата: 03.03.23 15:51
Оценка:
Здравствуйте, peer, Вы писали:

P>в пики, раз в месяц, бывает что страниа на гет даже не открывается, не то что апдейт в базе сделать


Профилировать надо.

P>думал это многопоточность и дедлоки?


https://www.martinfowler.com/bliki/TwoHardThings.html
Re: А что в тренде сейчас для кэша?
От: Osaka  
Дата: 03.03.23 16:38
Оценка: -1
P>Есть веб приложение под .net core в котором много где идет считывание из базы разных справочников. некоторые меняются редко (раз в сутки и реже), некоторые могут чаще, но всё равно не раз в минуту.
P>Подскажите что в качестве кэша можно использовать чтобы убрать частые обращения в базе?
EF DataContext
P>и второй вопрос. если справочник изменился какие есть механизмы обновления кэша для измененной таблицы?
Следящий за базой циклический тред
Re[4]: А что в тренде сейчас для кэша?
От: peer  
Дата: 03.03.23 18:43
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Здравствуйте, peer, Вы писали:


P>>в пики, раз в месяц, бывает что страниа на гет даже не открывается, не то что апдейт в базе сделать


AC>что показывают в это время средства мониторига базы?


чаще всего упиралось в диск
Re: А что в тренде сейчас для кэша?
От: vmpire Россия  
Дата: 03.03.23 19:31
Оценка:
Здравствуйте, peer, Вы писали:

P>Подскажите что в качестве кэша можно использовать чтобы убрать частые обращения в базе?

Да ничего особо нового: простой локальный кэш — System.Runtime.Caching.MemoryCache или Microsoft.Extensions.Caching.MemoryCache
Более навороченный и/или распределённый — Redis или подобный софт.

P>и второй вопрос. если справочник изменился какие есть механизмы обновления кэша для измененной таблицы?

Ограничение времени кэширования, отельный периодический опрос валидности кэша, уведомление об изменениях из базы или от изменяющего данные софта.

Но имеет смысл и в базу посмотреть, возможно, можно сделать кэш прямо там, отдельной таблицей или материализованной вьюшкой.
Re: А что в тренде сейчас для кэша?
От: 尿컙拋㕪⬎⤇Ǥ꧃푙刾ꄔ൒  
Дата: 12.03.23 13:58
Оценка:
почему нельзя использовать webapi + output caching?
Re: А что в тренде сейчас для кэша?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 12.03.23 19:26
Оценка:
Здравствуйте, peer, Вы писали:

P>Подскажите что в качестве кэша можно использовать чтобы убрать частые обращения в базе?

Документацию читать не пробовали? https://learn.microsoft.com/ru-ru/aspnet/core/performance/caching/memory?view=aspnetcore-7.0

Но что-то мне кажется что у вас структура базы и запросы далеки от оптимальных, что вы испытываете такие проблемы.
Ведь база данных сама не ходит на диск, если нужные для обработки запроса данные уже находятся в памяти. Но если у вас структура и запросы плохие, то для определения какие данные нужны надо обойти все записи, что упрется в диск.
Я на практике настолько редко видел что база упиралась именно в диск, а не плохие запросы, что не готов поверить, что у вас именно такой случай, учитывая что вы задаете такой вопрос.

P>и второй вопрос. если справочник изменился какие есть механизмы обновления кэша для измененной таблицы?

По ссылке выше все есть.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.