@nosooqua

Как лучше работать с базой данных?

Доброго времени суток. Имеется игровой сервер Minecraft. Планируется работа с базой данных такого типа: получить/записать информацию о предмете, получить/записать список игроков и кол-во этой вещи у него, получить/записать список айтемов, которые будут содержаться в предмете. Вопрос такой - как лучше работать с БД? Обращаться к БД по необходимости (игрок открыл интерфейс, в котором будут вещи из БД -> достаются вещи из БД), или же каждые N минут сохранять информацию в память/файл, и уже читать все это оттуда? Спасибо большое за ответ, и простите за (возможно) глупый вопрос)
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Vitsliputsli
В общем случае, работайте с БД, как с БД, надо писать - пишите, надо читать - читайте. Все остальное, это оптимизация под конкретные проседания производительности, и применять их нужно тогда, когда таковые имеются, т.к. любая оптимизация не бесплатна, всегда чем-то жертвуешь.
Ответ написан
Комментировать
@Smittyperm
Обычно разработка происходит так:
Сначала всегда все читается из бд и сохраняется в бд сразу. Так проще сделать, сложнее наплодить ошибок, быстрее получится первый прототип, сразу видны узкие места и кривые запросы к бд.
Если в какой-то момент возникает ситуация с очень частым обращением в бд, то данные начинают кешировать в памяти.
Кто-то делает ленивый кеш (На примере сундука и вещей в нем: если в памяти есть данные о вещах этого сундука, то используем их. Если нет, то подгружаем из бд).
Кто-то инициализирует кеш при старте приложения (Грузим данные при старте сервера обо всех сундуках и вещах в них).
Насчет непосредственно работы с бд могу посоветовать глянуть https://github.com/aaberg/sql2o
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы