Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Важность размера файла XML
 
 автор: frisst   (07.07.2010 в 19:18)   письмо автору
 
 

Доброго времяни суток. Нужно сгенерировать XML файл с данными игрока для последующего использования...

Примерно такого содержания:

<?xml version="1.0" encoding="utf-8"?>
<players>

 <player name="Frassit" rass="svintus" id="594538" level="30" top="1886" clan="Великий союз">
  <statistics recruitment="0" fighting="12929" victory="8406" loot="6505013" lost="2914086" damage="5551927" />
  <stats force="107" protection="110" dexterity="118" mass="94" skill="84" />
  <glory base="240" plus="6.00" minus="0" />
 </player>


</players>


Код выделенный жирным, это информация одного игрока. А если мы будем генерировать файл с информацией о 18000 игроках??? Это возможно вообще? Я посчитал, это примерно 7 мегобайт. Ну и парсеровать будет сложно или нет файл такого размера??? И как может повести себя сервер???(там где генерируется и там где принимаем и парсеруем.. Подскажите пожалуйста.

  Ответить  
 
 автор: Akdmeh   (07.07.2010 в 19:50)   письмо автору
 
   для: frisst   (07.07.2010 в 19:18)
 

Как говорит админ одного известного сайта "Сервер ляжет раком".
Не проще ли хранить информацию о каждом из пользователей в:
1) в каждом отдельном файле?
2) в базе данных?

  Ответить  
 
 автор: frisst   (07.07.2010 в 20:44)   письмо автору
 
   для: Akdmeh   (07.07.2010 в 19:50)
 

В бд данных можно канечно, но тогда другие сайты взять информацию о пользователе не смогут, а это как раз необходимо. Можно было бы сделать и в этдельном файле каждого пользователя, но тогда думаю сервер обновлять по 18000 файлов каждый день тоже не сможет =) Ну и в моём случае это подойти не может... =(
Ну ладно... Придётся обойтись...

Ну а какой размер файла самый обоюдный? Может просто уменьшить длину тегов и этим уменьшить размеры...

  Ответить  
 
 автор: sms-send   (07.07.2010 в 21:32)   письмо автору
 
   для: frisst   (07.07.2010 в 20:44)
 

> тогда другие сайты взять информацию о пользователе не смогут

чойта? Можно генерить xml по записям из базы

  Ответить  
 
 автор: frisst   (07.07.2010 в 21:38)   письмо автору
 
   для: sms-send   (07.07.2010 в 21:32)
 

Поястню, чтобы не было споров.
Есть проект: браузерная онлайн-игра. В ней регаются и играют пользователи. Мы генерируем на сервере игры xml-файлы с данными об игроках...

И есть сторонние проекты: Сайты кланов! И им необходимо например сделать у себя на странице рейтинг пользователей из их клана! Но чтобы каждый день руками не менять данные, нужно обратиться к сгенерированному на сервере игры файлу!

Это типа информера курса валют! Мы качаем файл с центробанка, парсируем его и выводим курс евро.
Так и в моём случае. только уже с игроками.

  Ответить  
 
 автор: sms-send   (07.07.2010 в 22:11)   письмо автору
 
   для: frisst   (07.07.2010 в 21:38)
 

Хранить в базе, по запросу упаковывать данные в любой удобный формат, в тот же xml. Запросы, которые выполняются часто (например, запрос информации о всех пользователях клана) можно кешировать на некоторое время (сохранять сгенерированный xml в файл).

  Ответить  
 
 автор: frisst   (08.07.2010 в 01:45)   письмо автору
 
   для: sms-send   (07.07.2010 в 22:11)
 

А что, как с центробанка нельзя загрузить?
И как я с одного сайта сделаю запрос "упаковки" на другом сайте? я ведь не имею доступа вообще теоритически к игре...

  Ответить  
 
 автор: sms-send   (08.07.2010 в 02:16)   письмо автору
 
   для: frisst   (08.07.2010 в 01:45)
 

> как я с одного сайта сделаю запрос "упаковки" на другом сайте

Например, по протоколу HTTP.
В запросе передаётся идентификатор клана - в ответе xml информацией по членам этого клана.
В запросе несколько идентификаторов игроков - в ответе xml информацией по этим игрокам.

http://ru.wikipedia.org/wiki/Интерфейс_программирования_приложений#Web_API

  Ответить  
 
 автор: frisst   (08.07.2010 в 10:58)   письмо автору
 
   для: sms-send   (08.07.2010 в 02:16)
 

Прошу прощения, просто я этого пока не знал.
Но думаю будет сложно делать несколько запросов.
я делаю запрос с сайта игры, а информеры и кнопки делают запрос с моего сайта.
Ну я буду думать! Спасибо...

Ну а вопрос мой остался не замеченным... Какой самый актуальный размер xml файла? чтобы мне знать на будущее...

  Ответить  
 
 автор: bab-nike   (08.07.2010 в 14:18)   письмо автору
 
   для: frisst   (08.07.2010 в 10:58)
 

>Какой самый актуальный размер xml файла?
я бы задался другим вопросом, насколько актуален вывод всех игроков(как я заметил порядка 18'000) на одну страницу?!

  Ответить  
 
 автор: frisst   (08.07.2010 в 16:42)   письмо автору
 
   для: bab-nike   (08.07.2010 в 14:18)
 

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

  Ответить  
 
 автор: Trianon   (08.07.2010 в 16:44)   письмо автору
 
   для: frisst   (08.07.2010 в 16:42)
 

так кому что нужно тот о том и запросит!
Зачем всех скопом-то генерить?

  Ответить  
 
 автор: frisst   (08.07.2010 в 17:31)   письмо автору
 
   для: Trianon   (08.07.2010 в 16:44)
 

А можно тогда спросить? как мне запросом брать файл именно с нужными игроками, если фильтровать их будем по ID???

  Ответить  
 
 автор: Trianon   (08.07.2010 в 20:25)   письмо автору
 
   для: frisst   (08.07.2010 в 17:31)
 

SELECT * FROM `gamers` WHERE `ID` IN (список ключей) 

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования