Задать вопрос
@Emily_Ravenhold

Правильное добавление/обновление таблиц в базах данных?

Если с выборкой все в принципе понятно, вытащили данные и храним их в кеше периодически сбрасывая на файл чтобы не терять разогретый кеш, но как быть в случае часто изменяющихся данных? Redis и подобное не подходит, эти данные нужно хранить постоянно. Например взять лайк в любой соц. сети, ведь при любом лайке нет автоматического запроса к бд на добавление/обновление? Единственное что смог придумать - записывать изменения/новые данные в кэш и обновлять их в бд пачками по шедулеру.
  • Вопрос задан
  • 120 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
2ord
@2ord
Можно в Memcached выполнять агрегацию лайков пачками по 10k плюс ограничением по времени до 5 сек. и затем обновлять агрегированные значения в БД. Напрямую или через очередь.
Для начала хотя бы так.
Кроме этого, на клиенте можно оттягивать отправку после 1-го клика при помощи техники debounce. Также по теме https://levelup.gitconnected.com/debounce-in-javas...
Ответ написан
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Во-первых есть запросы, а во-вторых есть разные виды кэширования: Read-Through, Write-Through и другие. У всех есть свои минусы и недостатки. Кроме того под капотом в таких системах чаще всего внутри все работает на очередях или стриминге
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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