1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Кэширование при работе с Mysql

Тема в разделе "Разработка плагинов для новичков", создана пользователем Milki_way, 1 дек 2023.

Метки:
  1. Автор темы
    Milki_way

    Milki_way Активный участник Пользователь

    Баллы:
    76
    Добрый вечер. Возник вопрос об правильной работе плагина с Mysql

    Если я подключаю базу к плагину, то получается мне нужно делать асинхронные запросы для получения данных.
    Но если данные мне будут нужны при каждом движении, ударе, или любых других событиях которые вызываются очень часто, мне нужно создавать кэш прослойку между взаимодействием, и работать с транзакциями?
     
  2. Sturm_PT

    Sturm_PT Активный участник Пользователь

    Баллы:
    76
    Да.
    Если данных немного - просто загружай их при входе игрока и сохраняй при выходе.
     
  3. Автор темы
    Milki_way

    Milki_way Активный участник Пользователь

    Баллы:
    76
    Почему многие плагины сохраняют при выходе? Разве не нужно обновлять данные в базе при любых изменениях, а создавать кеш только для быстрого "селекта"
     
  4. Автор темы
    Milki_way

    Milki_way Активный участник Пользователь

    Баллы:
    76
    Начислил баланс игроку, он перезашел, потом купил предмет, потом сервер упал, он заходит, а на балансе как были деньги, так и остались
     
  5. Sturm_PT

    Sturm_PT Активный участник Пользователь

    Баллы:
    76
    Если ты плагин на деньги пишешь - да, надо постоянно баланс обновлять. Просто в большей части плагинов нет таких данных, из-за которых экономика пойдёт в расколбас при краше (если игрок получит лишний кит старт - ничего не случится)
     
  6. Автор темы
    Milki_way

    Milki_way Активный участник Пользователь

    Баллы:
    76
    Есть какой то нормальный бесплатный плагин на валюты с поддержкой Mysql?
    Либо нет поддержки MYSQL, либо кривой, либо без API
     
  7. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
  8. Автор темы
    Milki_way

    Milki_way Активный участник Пользователь

    Баллы:
    76
    Я его как опыт использую) Сейчас нашел XEconomy , если всё ок то оставлю, если нет то придется переписать PP что бы использовать еще как валюту
     
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Сама игра так же делает с файлами игроков, в этом нет ничего необычного.
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Если сервер отвалится без сохранения ты получишь обратную проблему, списания денег без получения покупки. Собственно потому плагины и сейвят инфу игрока в файл на выходе игрока, что бы все данные игрока вместе засейвить.
     
  11. Автор темы
    Milki_way

    Milki_way Активный участник Пользователь

    Баллы:
    76
    Кстати да, не подумал об этом. Тогда для инвентарей нужен тоже mysql, либо для плагинов сохранение инфы при выходе.
     
  12. Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    Можно в оперативку самого же плагина, можно в Redis. Что-то временно-персистентное даже после рестарта сервера - в файлах. Последнее лучше избегать, но в редких кейсах может быть применимо, чтобы только не дергать базу.

    Но даже для последнего лучше Redis подойдет. Только при полном ребуте машины и он сбросится по идее. У Redis есть персистентный модуль, но не работал с ним, не могу что-то по нему сказать
     
  13. Автор темы
    Milki_way

    Milki_way Активный участник Пользователь

    Баллы:
    76
    Redis вы имеете ввиду как кэш? У меня не такая большая и сложная база что бы подключать реддис, я выбрал простое кеширование в кэш классе.
     

Поделиться этой страницей