169 похожих чатов

Подскажите, пожалуйста, как обычно поступают? Ситуация была монго. Решили добавить

кэш чтоб каждый раз к монге не ходить. Как в таком случае поддерживают актуальность данных в кэше? Вроде как что в голову приходит - либо надеятся на таймауты либо навесить логику на обновление данных (когда хотим обновить сущность в бд то обновим её и в кэше, если она там есть)

4 ответов

8 просмотров

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

Видел такой кейс: перед тем, как получить данные, заглядываем в кэш. Если есть что возвращать - возвращаем, если нет, то берем из бд и также сохраняем в кэш. При запросах, которые обновляют данные бд, либо обновляем тоже кэш, либо чистим его, в общем, то, о чем вы и писали

Borislaw-P Автор вопроса

Чтение у нас так и происходит. А вот с обновлением не знал как поступить, на СО советовали "да забей, после таймаута норм данные будут". В общем спасибо, так и буду делать (шерстить кэш перед апдейтом)

Апдейт в бд == апдейт кэша, делается одновременно

Похожие вопросы

Обсуждают сегодня

здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Any electron dev here?
Sayanth Tezro
12
Карта сайта