This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Работа с БД в RAGEMP

akudinov28

Старожил
24 Фев 2021
404
201
106
Добрый вечер, уважаемые!
Возник у меня такой вопрос: как лучше работать с данными в БД? Если каждый раз обращаться к БД и брать/добавлять/изменять/удалять записи напрямую из БД, не будет ли это слишком большой нагрузкой на сервер? Например система инвентаря. Когда игрок делает выстрел, нужно уменьшать количество патронов у него в инвентаре. Соответственно, каждый выстрел - запрос к БД. Подозреваю, что есть практики лучше. Поделитесь, если это не военная тайна
 

Randomchik

Старожил
BackEnd developer
19 Сен 2020
823
290
141
Привет. Нагрузка на БД колоссальная. На RedAge сборке происходит очень много запросов в БД. При хорошем онлайне тебе придется перерабатывать все взаимодействия с БД.
Зачем тебе каждый раз обновлять значения в БД? При каждом патроне? Нету в этом смысла. Сохраняй инвентарь игрока раз в 5-10 минут и все, больше тебе не надо.
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,844
219
В редаге так и сделано, каждые 3 минуты сейвит акк игрока, если он залогинен.
 

Randomchik

Старожил
BackEnd developer
19 Сен 2020
823
290
141
Да, правильно. Только при нормальном онлайне оно будет не успевать всех сохранять,не только из за игроков. Там много всякой херни есть ещё.
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,844
219
Это все решается, оптимизация + нагрузочные тесты. Где-то код слишком долго выполняется.