Ежесекундное обновление значения в таблице mysql
Делаю простую игру браузерную Таблица MySQL выглядит примерно так:
Nickname hp_current hp_max
Нужно чтобы для каждого никнейма шла проверка if hp_current > hp_max И ежесекундно добавлялось по 1 единице пока не будет hp_current == hp_max Этот код реализован, но: Столкнулся с проблемой, что страница в браузере виснет и ничего невозможно сделать пока равенство не будет выполнено (то есть пока функция не отработает свой цикл и пока равенство не будет "true") Соответсвенно, если масштабировать проект, подключений может быть больше чем 1 (я),и одновременно нужно будет пополнять здоровье десяткам игроков. Как это реализовать?
Ответы (1 шт):
Не нужно считать каждую секунду. На следующий запрос считаете сколько времени прошло и добавляете столько, сколько добавлялось за это время. Токенбакет алгоритм устроен подобным образом.