Здравствуйте, есть приложение по типу кликера.
Пользователь тыкает на кнопочку, цифры на клиенте меняются, тут все ясно.
А Вот я, например, отправляю запрос на сервер, прибавляю там тоже.
А как мне организовать изменения в базе? Менять после определенного количества кликов? Может через определенное время?
Думаю не слишком рационально после каждого клика делать запрос к таблице.
Я бы предложил аггрегировать значения на клиенте (см метод debounce) . После определенного периода времени отсутствия кликов от пользователя - делать запрос на сервер с итоговым числом. Так вы избежите нагрузки и на сервер и на базу. Либо использовать debounce на сервере, как предложили выше
Сейчас я использую socket io. Когда происходит клик, я отправляю его на сервер, там прибавляю к переменной, а когда происходит disconnect, то передаю все в базу. Так рационально?
В зависимости от количества пользователей. Сокет это постоянное соединение между клиентом и сервером - значит более ресурсоемкое чем http запрос. Сокеты хороши, когда нужно настроить двухстороннюю связь сервера и клиента, а в вашем случае запрос только с клиента. Думаю, сокеты не совсем рационально в таком юзкейсе, но посмотрите по нагрузке и решите сами