Показать сообщение отдельно
  #13 (permalink)  
Старый 28.04.2018, 15:52
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,561

Сообщение от stweet Посмотреть сообщение
Если одновременно "два" юзера жмякнут на "поднять" оба получают "4". А в базе стоит "5" - !неудачный пример!
По логике - нет. Если изначально там 3, то один юзер получит 4 - другой 5. Какой - что - зависит от сетевых задержек. Понятия "одновременно" - не существует.
Вы можете искусственно накапливать обращения, приходящие по очереди с интервалом меньше n, и, как только дольше чем n не было обращений, красиво отправлять в базу одним куском и красиво же отправлять обратно всем, но зачем?

...upd
Сообщение от EmperioAf Посмотреть сообщение
Значит у вас проблема в логике на БД
Кстати да, такую мысль я даж не допускал.) В таком случае возможно что угодно.

...upd
Если уж так хочется красоты - можно сделать переменную someCount и при получении любого соответствующего ответа от базы проверять если та меньше возвращённого значения - устанавливать оное. И при ответе пользователю использовать уже её. Всё равно это не ничего не гарантирует, но будет немного "красивее".
__________________
29375, 35

Последний раз редактировалось Aetae, 28.04.2018 в 16:02.
Ответить с цитированием