0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 9
|
|
1 | |
XML или MySQL для "статической" информации25.11.2011, 10:19. Показов 2086. Ответов 9
Метки нет (Все метки)
Здравствуйте.
Сколько ищу, никак не найду ответа на вопрос. Учусь программировать и для практики пишу игру. Сейчас на этапе разработки базы данных. Так вот, есть разные мнения на тему хранения информации, которая является частично статической. Т.е. к примеру статы на уровень и максимальный опыт. Вот и стал вопрос, а что если не в БД, а в xml файл записать? Или вот к примеру тексты квестов, что бы сделать к примеру подстановки для М/Ж в текст квеста через prinf к примеру. В базе записать Id квеста и еще какую то часть информации о квесте, а php загрузит для него из xml текст и еще какие то дополнительные параметры. Так же есть ли смысл хранить "настройки" пользователя (язык интерфейса, шаблон...) в базе и при первом запуске внедрять их в сессию, или подгружать из того же xml файла? И тут же есть свои за и против. В частности что бы игроку предоставить новые статы в его профиль, можно обойтись простым, ну не очень, UPDATE в запросе к базе. И так же с квестом, загрузить из базы все данные и так же обработать. А вот что быстрее будет работать? xml или MySQL? Или как более правильно в таких ситуациях?
0
|
25.11.2011, 10:19 | |
Ответы с готовыми решениями:
9
Утилита для получения статической информации по протоколам UDP, TCP, ICMP, IP. Утилита для получения статической информации по протоколам UDP, TCP, ICMP, IP. MySQL: интересуют примеры подключения и запросов на сохранения или вывод информации из БД в форму Как использовать xml в статической верстке |
Веб-мастер
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
|
|
25.11.2011, 15:11 | 2 |
xml помоемому больше шансов открыть и посмотреть что в нутри и как сделано. А (на мой счёт) удобнее будет если всёже использовать MySQL, вить редактирование, (баны, варны) можно делать прямо с сайта через админку, или вообще зайдя на профиль и нажать соответствующюю кнопку. А с файлами скорее всего парилки больше, помоемому их надо открывать, разбивать многостроки на строки или что то типо этого. Я делал 4 игры(для практики), и никаких более удобных и быстрых способов не находил лично для себя. Всё получалось отлично.
Рекомендую MySQL
1
|
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 9
|
|
25.11.2011, 16:01 [ТС] | 3 |
Maksimchikfull,
Я говорю за наличие статической, более менее, информации. Т.е. Врятли я буду менять игроку язык интерфейса или шаблон, да и пользователь не будет каждый день их менять. xml же не столько файл, сколько объект по сути получается в php. Его не нужно читать построчно, что бы достать нужную информацию... Мороки несколько больше, но вдруг работает быстрее. По сути запрос к базе будет каждое посещение какой нить странички... А так к файлу... Хотя...
0
|
119 / 119 / 32
Регистрация: 09.07.2011
Сообщений: 203
|
|
25.11.2011, 17:10 | 4 |
MySQL однозначно будет работать быстрее xml-персера
0
|
135 / 135 / 29
Регистрация: 18.10.2011
Сообщений: 306
|
|
25.11.2011, 17:54 | 5 |
Нужно.
Добавлено через 41 секунду А если точнее, то его парсить нужно. Прочитать весь, распарсить, а потом уже работать как с объектом. Добавлено через 1 минуту Если бд вообще используется у вас в игре, то имеет смысл хранить там все =)
0
|
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 9
|
|
25.11.2011, 17:57 [ТС] | 6 |
Спасибо всем. Теперь буду уверен, что лучше юзать базу.
Буду дальше планировать структуру...
0
|
135 / 135 / 29
Регистрация: 18.10.2011
Сообщений: 306
|
|
25.11.2011, 17:58 | 7 |
Ну как все. В пределах разумного конечно. Картинки, да и вообще бинарные файлы, я считаю, лучше хранить в определенных директориях, а в базе ссылки на них.
Что бы снизить нагрузку на субд нужно кешировать запросы и их выдачу.
1
|
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 9
|
|
25.11.2011, 18:02 [ТС] | 8 |
forgergg, почитаю где нить про кеширование...
0
|
Веб-мастер
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
|
|
26.11.2011, 05:58 | 9 |
Есть поражающая вещь работающая при условии что пользователь будет регистрироваться и темболее авторизироватся. Эта вещь произносится как сессия а переменная выглядит так: $_SESSION[]. При входе в аккаунт(или куда там ещо), во время авторизации, в сессию запишите выбранный язык. И в итоге выйдет что пользователю за время работы сессии(пока браузер не закроет), будет постоянно пренадлежать язык. А если гдето в настройках он его поменяет, и в запрос на смену языка будет успешен, то и сессия сразуже поменяется.
PHP удивляет даже меня!
0
|
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 9
|
|
26.11.2011, 07:29 [ТС] | 10 |
0
|
26.11.2011, 07:29 | |
26.11.2011, 07:29 | |
Помогаю со студенческими работами здесь
10
Нужно написать скрипт для вывода информации их БД и XML Парсинг XML файла и сохранение информации из файла в структуре или массиве Подходит ли MySQL для большого объема информации? MySQL или MongoDB или Cassandra для интенсивных обращений Проблема с взаимодействием динамической и статической памяти - обращение к статической переменной Объявление статической переменной и статической функции в классе Как изучать mysql и php? Сначала php, а потом mysql или наоборот, или сразу? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |