Помогите Как правильно согласовать работу нескольких плагинов с единой базой данных

  • Автор темы Автор темы MySoR
  • Дата начала Дата начала

MySoR

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
MySoR
В данный момент я пишу плагин который взаимодействует с балансом игроков в валюте Vault. Делаю что-то типа банковских вкладов. И информация о кол-ве монет хранится в базе данных и одним так сказать счетом может управлять сразу несколько людей с разных серверов. Так вот как я это реализую сейчас. Плагином выгружаю все счета с бд и регистрирую как объекты а после провожу все манипуляции с ними и при надобности записываю новые данные в бд. И конечно же обновляю данные раз в n-ое количество времени. Но вот я подумал что одновременно с 1 счета могут снять сразу несколько человек с разных серверов деньги и тем самым дюпнуть их так как данные будут не валидные.
И очень часто тянуть кучу данных с бд чтобы они всегда были валидными не очень хорошо.
И вытягивать по 1 счету я тоже не могу так как они нужны еще и для отмены кое-каких ивентов а ивент асинхронно я отменить не смогу.
Вот думаю думаю и никак не могу допереть как в таких случаях поступать правильно.
 
Записывай изменения в базу и все.
Ну я записал изменения в базу. Но плагин подтянет эти изменения не сразу и будет рассинхрон с балансе и будет возможность стянуть с баланса монеты которые уже стянуты. А ежесекундно тянуть данные с бд плохо.
 
Ну я записал изменения в базу. Но плагин подтянет эти изменения не сразу и будет рассинхрон с балансе и будет возможность стянуть с баланса монеты которые уже стянуты. А ежесекундно тянуть данные с бд плохо.
Зачем ежесекудно то, только когда проводишь списание или пополнение, смотришь баланс из базы.
 
Как вариант при изменении баланса записывать его на всех серверах например через PluginMessage
 
Назад
Верх