Вопрос Работа с базой данных

Версия Minecraft
1.20.X

Artur001

Пользователь
Сообщения
26
Всем привет!

Часто пишу плагины, в которых сохраняются данные в базу данных. Только сейчас возник вопрос - а как лучше?
• Сохранять сразу
• Сохранять при выключении сервера (до этого записывать в мапу)
помимо этого данные также передаются на другие сервера с помощью redis
 
Хороший вопрос на самом деле. Думаю что очень зависит от самих данных и нужно ли их будет получать/изменять на других экземплярах сервера. Например, какие-нибудь префиксы можно и не передавать при каждом изменении - достаточно лишь сохранять при выходе игрока с сервера. А какие-нибудь наказания или жалобы нужно сохранять сразу, чтобы их можно было получать и на других серверах, боте, админке и так далее
 
Всем привет!

Часто пишу плагины, в которых сохраняются данные в базу данных. Только сейчас возник вопрос - а как лучше?
• Сохранять сразу
• Сохранять при выключении сервера (до этого записывать в мапу)
помимо этого данные также передаются на другие сервера с помощью redis
Мапу можно использовать как Кеш, записывать сначала в мапу а потом через время в базу (а также при выключении)
 
Хороший вопрос на самом деле. Думаю что очень зависит от самих данных и нужно ли их будет получать/изменять на других экземплярах сервера. Например, какие-нибудь префиксы можно и не передавать при каждом изменении - достаточно лишь сохранять при выходе игрока с сервера. А какие-нибудь наказания или жалобы нужно сохранять сразу, чтобы их можно было получать и на других серверах, боте, админке и так далее
в пример приведу аукцион, в котором есть хранилище. я не вижу смысла отправлять данные при каждом изменении, так что сделал при выходе. однако появилась проблема - если плагин выключается, а чел не выходил с сервера, но в хранилище произошли изменения, то как быть?
 
в пример приведу аукцион, в котором есть хранилище. я не вижу смысла отправлять данные при каждом изменении, так что сделал при выходе. однако появилась проблема - если плагин выключается, а чел не выходил с сервера, но в хранилище произошли изменения, то как быть?
А смысл возможно всё же есть, как минимум если плагин претендует на межсерверность. Или чтобы данные не терялись если сервер будет остановлен внезапно (краш, принудительная перезагрузка, отключение света в датацентре и ещё куча ситуаций, при которых сервер может просто не успеть сохранить данные)
 
Назад
Сверху Снизу