ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Хранение кликов react js (https://forum.antichat.xyz/showthread.php?t=1515030)

Klentovskiy 30.06.2024 01:26

Хочу сделать свой первый проект на react js, за идею взял игру кликер, по типу ноткоина и т.д, и возник следующий вопрос как можно всё это корректно сохранять в базу данных, пока ещё не определился какую буду использовать скорее всего mysql, но не суть, меня больше интересует тот момент как лучше это всё обрабатывать и сохранять клики в базу данных, ведь 1 клик = 1 монета, и как по мне не корректно постоянно делать запрос к базе данных после каждого клика, как это можно сделать более корректно и сократить запросы к базе данных?

ferzin 30.06.2024 01:46

я бы использовал базу побыстрее для "кэша" (типа redis), а по истечению времени данные бы переносились из нее в postgresql + лоад балансеры + xN серверов (желательно auto scalable)

@neverlane посоветуй чето молодому

PaddingtonBaby 30.06.2024 13:31

debouncing в JS через local/sessionStorage можно пробовать реализовать.

андрей чикатила 01.07.2024 18:03

Изучи фронтенд и бэкенд для начала начиная с HTML и поймешь сам)

yoonost 01.07.2024 20:42

Самый простой вариант это создать локальную переменную и отправлять на бэкенд то количество которое нужно прибавлять с промежутком 5-10 секунд что бы не насиловать бекенд но и конечно не стоит забывать про "безопасность" что бы рандом чел не прибавил себе 9999999 маны

vmprotect 01.07.2024 21:10

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

yoonost 01.07.2024 21:11

Цитата:

Сообщение от strcmp

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

ты типо это, спиздил мой текст?

vmprotect 01.07.2024 21:24

Цитата:

Сообщение от yoonost

ты типо это, спиздил мой текст?

в этой ситуации лучше промолчать

yoonost 01.07.2024 21:25

Цитата:

Сообщение от strcmp

в этой ситуации лучше промолчать

так по факту же, ты просто взял мой текст переформулировал под себя и все. мне то все равно но интересно же

vmprotect 01.07.2024 21:26

Цитата:

Сообщение от yoonost

так по факту же, ты просто взял мой текст переформулировал под себя и все. мне то все равно но интересно же

если бы тебе было все равно, ты бы не писал и не плакал что твой очень конструктивный ответ скопировали 😢

yoonost 01.07.2024 21:27

Цитата:

Сообщение от strcmp

если бы тебе было все равно, ты бы не писал и не плакал что твой очень конструктивный ответ скопировали 😢

я и не плачу чел и чё ты такой наряженный, расслабься

vmprotect 01.07.2024 21:28

Цитата:

Сообщение от yoonost

я и не плачу чел и чё ты такой наряженный, расслабься

новичок пытается нафармить сообщения?)

yoonost 01.07.2024 21:28

Цитата:

Сообщение от strcmp

новичок пытается нафармить сообщения?)

Регистрация 21 Янв 2019

vmprotect 01.07.2024 21:29

Цитата:

Сообщение от yoonost

Регистрация 21 Янв 2019

как скажешь

yoonost 01.07.2024 21:34

Цитата:

Сообщение от yoonost

Самый простой вариант это создать локальную переменную и отправлять на бэкенд то количество которое нужно прибавлять с промежутком 5-10 секунд что бы не насиловать бекенд но и конечно не стоит забывать про "безопасность" что бы рандом чел не прибавил себе 9999999 маны

Еще вариант но это более сложней это использовать сокеты которые открывают одно соединение и не закрывают его на протяжении всей сессии. Стоит учесть что каждое соединение кушает ресурсы, но в этом есть один плюс что ты не сможешь просто так получить информацию которую он передает и так же то что передача быстрее обычного HTTP/HTTPS соединения раз в 50 из-за того что не нужно создавать новый запрос

vmprotect 01.07.2024 21:36

Цитата:

Сообщение от yoonost

Еще вариант но это более сложней это использовать сокеты которые открывают одно соединение и не закрывают его на протяжении всей сессии. Стоит учесть что каждое соединение кушает ресурсы, но в этом есть один плюс что ты не сможешь просто так получить информацию которую он передает и так же то что передача быстрее обычного HTTP/HTTPS соединения раз в 50 из-за того что не нужно создавать новый запрос

зачем тебе каждый клик писать в базу данных это просто усложняет проект и ресурсы жрет пакетом отправляй и все

yoonost 01.07.2024 21:38

Цитата:

Сообщение от strcmp

зачем тебе каждый клик писать в базу данных это просто усложняет проект и ресурсы жрет пакетом отправляй и все

принцип работы такой же как в 1 сообщением но вместо того что бы использовать HTTP/HTTPS можно использовать WS. Не стоит забывать что тему создал новичок и владение WS очень в будущем поможет

vmprotect 01.07.2024 21:39

Цитата:

Сообщение от yoonost

принцип работы такой же как в 1 сообщением но вместо того что бы использовать HTTP/HTTPS можно использовать WS. Не стоит забывать что тему создал новичок и владение WS очень в будущем поможет

зачем тебе WS если можно проще сделать через HTTP/HTTPS не надо усложнять новичку будет проще понять и настроить использование пакетов через обычные запросы

yoonost 01.07.2024 21:40

Цитата:

Сообщение от strcmp

зачем тебе WS если можно проще сделать через HTTP/HTTPS не надо усложнять новичку будет проще понять и настроить использование пакетов через обычные запросы

я привел альтернативу стандартному http! у него есть как минимум 2 варика


Время: 01:12