Просмотр полной версии : Хранение кликов react js
Klentovskiy
30.06.2024, 01:26
Хочу сделать свой первый проект на react js, за идею взял игру кликер, по типу ноткоина и т.д, и возник следующий вопрос как можно всё это корректно сохранять в базу данных, пока ещё не определился какую буду использовать скорее всего mysql, но не суть, меня больше интересует тот момент как лучше это всё обрабатывать и сохранять клики в базу данных, ведь 1 клик = 1 монета, и как по мне не корректно постоянно делать запрос к базе данных после каждого клика, как это можно сделать более корректно и сократить запросы к базе данных?
я бы использовал базу побыстрее для "кэша" (типа redis), а по истечению времени данные бы переносились из нее в postgresql + лоад балансеры + xN серверов (желательно auto scalable)
@neverlane (https://www.blast.hk/members/251090/) посоветуй чето молодому
PaddingtonBaby
30.06.2024, 13:31
debouncing в JS через local/sessionStorage можно пробовать реализовать.
андрей чикатила
01.07.2024, 18:03
Изучи фронтенд и бэкенд для начала начиная с HTML и поймешь сам)
Самый простой вариант это создать локальную переменную и отправлять на бэкенд то количество которое нужно прибавлять с промежутком 5-10 секунд что бы не насиловать бекенд но и конечно не стоит забывать про "безопасность" что бы рандом чел не прибавил себе 9999999 маны
vmprotect
01.07.2024, 21:10
ты можешь делать клики асинхронно и сохранять их локально а потом отправлять на сервер пакетом раз в несколько секунд или после набора определенного количества кликов. Такой подход снизит нагрузку на базу данных и уменьшит количество запросов
ты можешь делать клики асинхронно и сохранять их локально а потом отправлять на сервер пакетом раз в несколько секунд или после набора определенного количества кликов. Такой подход снизит нагрузку на базу данных и уменьшит количество запросов
ты типо это, спиздил мой текст?
vmprotect
01.07.2024, 21:24
ты типо это, спиздил мой текст?
в этой ситуации лучше промолчать
в этой ситуации лучше промолчать
так по факту же, ты просто взял мой текст переформулировал под себя и все. мне то все равно но интересно же
vmprotect
01.07.2024, 21:26
так по факту же, ты просто взял мой текст переформулировал под себя и все. мне то все равно но интересно же
если бы тебе было все равно, ты бы не писал и не плакал что твой очень конструктивный ответ скопировали 😢
если бы тебе было все равно, ты бы не писал и не плакал что твой очень конструктивный ответ скопировали 😢
я и не плачу чел и чё ты такой наряженный, расслабься
vmprotect
01.07.2024, 21:28
я и не плачу чел и чё ты такой наряженный, расслабься
новичок пытается нафармить сообщения?)
новичок пытается нафармить сообщения?)
Регистрация 21 Янв 2019
vmprotect
01.07.2024, 21:29
Регистрация 21 Янв 2019
как скажешь
Самый простой вариант это создать локальную переменную и отправлять на бэкенд то количество которое нужно прибавлять с промежутком 5-10 секунд что бы не насиловать бекенд но и конечно не стоит забывать про "безопасность" что бы рандом чел не прибавил себе 9999999 маны
Еще вариант но это более сложней это использовать сокеты которые открывают одно соединение и не закрывают его на протяжении всей сессии. Стоит учесть что каждое соединение кушает ресурсы, но в этом есть один плюс что ты не сможешь просто так получить информацию которую он передает и так же то что передача быстрее обычного HTTP/HTTPS соединения раз в 50 из-за того что не нужно создавать новый запрос
vmprotect
01.07.2024, 21:36
Еще вариант но это более сложней это использовать сокеты которые открывают одно соединение и не закрывают его на протяжении всей сессии. Стоит учесть что каждое соединение кушает ресурсы, но в этом есть один плюс что ты не сможешь просто так получить информацию которую он передает и так же то что передача быстрее обычного HTTP/HTTPS соединения раз в 50 из-за того что не нужно создавать новый запрос
зачем тебе каждый клик писать в базу данных это просто усложняет проект и ресурсы жрет пакетом отправляй и все
зачем тебе каждый клик писать в базу данных это просто усложняет проект и ресурсы жрет пакетом отправляй и все
принцип работы такой же как в 1 сообщением но вместо того что бы использовать HTTP/HTTPS можно использовать WS. Не стоит забывать что тему создал новичок и владение WS очень в будущем поможет
vmprotect
01.07.2024, 21:39
принцип работы такой же как в 1 сообщением но вместо того что бы использовать HTTP/HTTPS можно использовать WS. Не стоит забывать что тему создал новичок и владение WS очень в будущем поможет
зачем тебе WS если можно проще сделать через HTTP/HTTPS не надо усложнять новичку будет проще понять и настроить использование пакетов через обычные запросы
зачем тебе WS если можно проще сделать через HTTP/HTTPS не надо усложнять новичку будет проще понять и настроить использование пакетов через обычные запросы
я привел альтернативу стандартному http! у него есть как минимум 2 варика
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot