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

Хочу захэшировать данные юзеров из монго в оперативке, но чтобы

при изменении вручную в монго изменялось и в хэше, как быть?)

17 ответов

21 просмотр

1. Не захешировать, а закешировать 2. Та ну, лучше не надо, кеш это всегда лишний гемор по его инвалидации, если можно без него, то лучше без него

Andrej- Автор вопроса

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

Andrej- Автор вопроса
Denis Pobedrya
1. Не захешировать, а закешировать 2. Та ну, лучше...

Бот перенаправляет юзерам сообщения в зависимости от настроек каждого из них

Andrej
Много операций с данными юзеров, каждый раз тянуть...

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

Andrej- Автор вопроса
Denis Pobedrya
Смотря что понимается под "каждый раз". В общем сл...

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

Andrej
Есть 100 видов сообщений от бота, у каждого юзера ...

а как приложение узнает что настройки поменялись?

Andrej- Автор вопроса
Denis Pobedrya
а как приложение узнает что настройки поменялись?

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

раз в n время обновляй данные в кеше, но не думаю что он тебе вообще нужен

ZeN
раз в n время обновляй данные в кеше, но не думаю ...

Обновление кэша по расписанию. Какая наивность. 😊

Andrej
В чем наивность?

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

Andrej- Автор вопроса
Andrej
А на что ее завязывать?

Очевидным образом — на изменение исходных данных.

Andrej- Автор вопроса
evle
Очевидным образом — на изменение исходных данных.

Мне надо, чтоб в кэше отображались изменения бд, вносимые вручную. В чем может быть проблема при таймере..?

evle
В том, что инвалидацию кеша почти никогда нельзя з...

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

Tishka17
не вижу проблем во многих случаях завязывать именн...

Ну, если так получилось, что буква C из CAP не так критична, то да, можно себе позволить. Но это надо знать на входе и проектировать соотвествующим образом.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта