This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Работа с бд

johndoe

Начинающий специалист
10 Май 2025
177
72
40
Реакции: aspidemon

aspidemon

Начинающий специалист
26 Сен 2022
191
61
90
Согласен, но в случае краша консоли сервера, все твои данные инвентаря теряются, а в случае с стором на клиенте - данные могут изменить и получаются дюпы
Редиска же сохраняет данные на диске в виде файлов на случай краша и периодически их там обновляет

К слову, я не говорю про кеширование аккаунтов или персонажей, сохранять например информацию по предметам инвентаря очень удобно, редис очень сильно поможет в таком случае, еще как пример можно отнести данные бизнесов и прочее
 
Реакции: Touch

johndoe

Начинающий специалист
10 Май 2025
177
72
40
Редиска же сохраняет данные на диске в виде файлов

Друг, редис почему такой быстрый и ахуенный? Потому что он записывает ключи не в физическую память, а в ОЗУ. Отсюда и скорость) БДшки все пишут в условные файлы на жёсткий диск, редис - в ОЗУ
 

aspidemon

Начинающий специалист
26 Сен 2022
191
61
90
Да, но в нем есть возможность делать backup информации на диск, если б читал, что я дальше писал, а не вырывал из контекста, то понял бы

 

aspidemon

Начинающий специалист
26 Сен 2022
191
61
90
Можешь чекнуть видосик, там тебе все нормально обьяснят -
P.S. Специально нашел для тебя!
 
Реакции: qweqweqwe123123123

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
746
340
161
31
Что за редиска?
Чтобы контекст понимать)
Redis
На первых парах тебе это не обязательно изучать.
Не распыляй внимание. Почитай про SQL. Лучше с практикой.
Запусти чистый сервачек(рейджа, раз мы тут), через команды сервера сделай авторизацию на сервере(самую элементарную).
Авторизация звучит наверное грозно для тебя, но на самом деле все просто.
При заходе игрока на сервер пиши ему в чат(что-то типо - "Для авторизации введите /auth login password")
В чат вводишь данные на стороне сервера обрабатываешь.
По сути сервер рейджа это приложение на nodeJS(не только, есть и на C# но не будем отвлекаться) поизучаешь заодно и его(js);
Практика ключ к познанию.
 
Реакции: aspidemon

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,574
2,240
208
36
базу говоришь тоже немного в прикеке с монго-идей
звучит как омегалул

редиска еще очередями управлять кайф.
 
Реакции: johndoe

akudinov28

Старожил
24 Фев 2021
463
222
106

По поводу потери данных в случае краша - автосохранение в базу коллекции раз в n минут. В случае краша у тебя откатится состояние за последние, например, 5 минут. Не страшно. Все крупные проекты именно так и работают.

По поводу дюпа - это так не работает. Ну задублирует он себе картинки в инвентаре, и что? При попытке взять предмет в руки, например, у тебя все равно должен идти запрос на сервер: есть ли предмет у игрока, может ли он взять в руки его именно здесь и сейчас и т.д. Сервер - единственный источник истины. Дюп не прокатит.
 
Реакции: qweqweqwe123123123 и Inoi

aspidemon

Начинающий специалист
26 Сен 2022
191
61
90
Ну, вообще-то это NoSQL база данных, просто её используют для кэша в основном, но она спокойно может быть основной базой данных
 

aspidemon

Начинающий специалист
26 Сен 2022
191
61
90
Когда у тебя 500 онлайна - запись такого количества данных через n время приведет к отказу бд, в пример могу привести мод Diamond, там такая же схема использовалась, много проблем из-за этого

Дюпы реальны, в особенности если учитывать, что он пишет, о том, что он хочет сохранить инвентарь на стороне клиента "что б грузилось быстрее" (Читай внимательнее, там буквально так написано):


P.S. В любом случае, редиска будет очень полезна как для SQL так и для NoSQL
 

johndoe

Начинающий специалист
10 Май 2025
177
72
40

Ну так и трактор это по факту тоже техника. Но по городу кататься на работу на нём и по магазинам будет не очень комфортно) Мы с тобой как будто о разных вещах говорим.

Если прям пиздец как банально спуститься, то redis по факту жсовский Map, где есть ключ - значение. Использовать её как хранилище для сервера - шиза, хоть и будет работать (я не спорю), но зачем, а главное нахуя использовать его как основное хранилище
 
Реакции: Inoi

johndoe

Начинающий специалист
10 Май 2025
177
72
40

Брат, если ты перед тем, как ЧТО ЛИБО сделать от команды клиента не валидируешь на сервере - мои соболезнования. Есть ебейшее и золотое правило: НИКОГДА НЕ ВЕРЬ КЛИЕНТУ.

Хочет переместить айтем - делаешь внутренние проверки. Ты не знаешь что вызвал это действие: обычный игрок или Вася из 2Г класса, скачавший две минуты назад экзекьютер

Я видел кейсы когда инвентарь был онли на клиентской части, так и ебучий даймонд у которого очень много логики было на клиенте. Это не говорит о том, что "вот, я видел такой кейс, это хуево, идем хранить данные в редис". Это говорит о том, что даймонд писал ебанат, который почему то решил что инъектнуться в клиент очень сложно.
 
Реакции: Inoi

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,574
2,240
208
36
я видел огромные сервера которые на уля-ля работали с mssql напрямую
сдаётся мне что проблема не в вилке, а в том как её держать
не знаю что там в диамонде, но если ты будешь каждый клик в юайке хуярить в бд например - у тебя и 20 онлайна отъебнёт
 
Реакции: aspidemon

Valdemar

Новый участник
1 Авг 2025
33
0
23
Upd: разобрался с sql, начал смотреть prisma, написал 3 простиньких проекта(отображение и хранение данных на postgresql), думаю попробовать применить эти знания в рейдже. Как установить и настроить призму что-бы она норм работала? Использую ragemp-esbuild-starter
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,574
2,240
208
36
а как ты её установил и написал три простеньких проекта
вот так же
 

Valdemar

Новый участник
1 Авг 2025
33
0
23
Почему у меня не отображается кол-во денег в худе? Хотя при вводе команды в чат пишется правильное значение, которое и в таблице бд.
 

Вложения

  • 1759747719790.png
    58.7 KB · Просмотры: 35
  • 1759747735510.png
    28.5 KB · Просмотры: 30

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
746
340
161
31
Не совсвем понятно как данные идут в цеф
 

Similar threads