немного), юзеров неопределенное число. У юзеров есть данные, которые очень часто могут быть нужны, если умножить на количество юзеров, то бд получит высокую нагрузку. Хочу эти данные хранить в оперативке (создать класс для данных юзеров) и при этом, чтоб если я в базе вручную изменю данные, чтоб и в классе они изменились, как быть, подскажите?
> бд получит высокую нагрузку ты это проверял? какая примерно нагрузка?
Может доходить до 1000 в сек, примерный порядок такой
Например, будет 100 юзеров со своими данными и в зависимости от этих данных при "событии" каждому может отправится сообщение. Если таких событий произойдет 10 за секунду, то придется 1000 операций запустить.
почему 1000? тебе ведь надо получить все данные о всех юзерах, это будет 10 запросов на 10 событий
О таком и не подумал... спасибо... Так для бд наверное имеет значение отдать инфу по одному юзеру или найти всех и отдать, в плане нагрузки?
как раз таки одним запросом такое будет лучше проворачивать
Если представить, что мой бот будет популярным и будет 3000 юзеров, это ж будет многовато запрашивать постоянно всю базу, не лучшее ее кэшировать в классе питона?
3000 это не так много. у меня на постгесе была бд на 20кк записей, при выборе всех записей тратилось примерно секунд 5. поэтому в твоем случае бд уж точно справится
Обсуждают сегодня