Ограничить количество пользователей на группу в приложении

Поэтому я работаю над мобильным приложением, которое позволяет пользователям присоединяться к группам. Группы ограничены определенным размером. Если в группе осталось 1 слот, как я могу запретить нескольким пользователям присоединяться к группе одновременно? Я использую MySQL для базы данных и php веб-сервер для подключения к базе данных. Нечто подобное может быть достигнуто с помощью блокировок, но я не уверен, как это сделать с помощью php / mysql, когда запросы обрабатываются одновременно.

Я не мог найти что-либо еще о переполнении стека с этим, но, возможно, я не искал правильно.

1

Решение

Независимо от того, сохраняете ли вы количество пользователей в группе в поле или определяете это число на лету с помощью функции count () в sql, используйте выберите … для обновления с механизмом таблиц innodb для блокировки доступа к записям во время обработки заявки на членство в группе. Используйте явные транзакции для этого (начать транзакцию — зафиксировать)

Таким образом, приложение 1-го пользователя блокирует записи, необходимые для определения номера участника группы, поэтому приложение 2-го пользователя будет ждать, пока приложение 1-го пользователя не завершит работу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector