- Баллы
- 76
- Имя в Minecraft
- EnderBro3D
Делаю бан систему, начал задумываться о том, как всё будет сохранятся.
Во время запуска BungeeCord я читаю все значения в таблице bans.
Записываю в мапу <String, Ban>, а потом, во время прелогина я чекаю, есть ли он в мапе или нет.
В положительном результате - запрет входа, в отрицательном - наоборот.
Настало время писать save, я как всегда перечисляю все значения из мапы и записываю в db.
Но я задумался, вот мы удалили игрока, он в мапе удалился, но он останется в дб навсегда.
После перезапуска банджи бан не слетит.
Я делаю так...
Продолжение будет под спойлером, чувствительным программистам и беременным не читать.
Всем кто прочитал спойлер, вопрос: Как можно сделать более оптимизированный вариант?
Или я делаю всё правильно?
Во время запуска BungeeCord я читаю все значения в таблице bans.
Записываю в мапу <String, Ban>, а потом, во время прелогина я чекаю, есть ли он в мапе или нет.
В положительном результате - запрет входа, в отрицательном - наоборот.
Настало время писать save, я как всегда перечисляю все значения из мапы и записываю в db.
Но я задумался, вот мы удалили игрока, он в мапе удалился, но он останется в дб навсегда.
После перезапуска банджи бан не слетит.
Я делаю так...
Продолжение будет под спойлером, чувствительным программистам и беременным не читать.
...
сначала всё удаляю, потом записываю все баны в дб.
Но нагрузка будет жёсткая, хотя я делаю это в конце, мне
кажется, база просто ляжет в могилу и сама себя закопает, от таких действий.
сначала всё удаляю, потом записываю все баны в дб.
Но нагрузка будет жёсткая, хотя я делаю это в конце, мне
кажется, база просто ляжет в могилу и сама себя закопает, от таких действий.
Всем кто прочитал спойлер, вопрос: Как можно сделать более оптимизированный вариант?
Или я делаю всё правильно?