Лучший способ кеширования файлов XML - PullRequest
1 голос
/ 18 октября 2010

У меня есть веб-сайт, который подключается к 14-17 потокам XML и загружает потоки при каждой загрузке страницы.Это было хорошо для целей тестирования и для трафика <100 / день.</p>

Однако теперь он переходит к этапу, когда страница загружается все медленнее и медленнее, потому что мне нужно ждать загрузки внешнего XML.

Каков наилучший способ кэширования / манипулирования этими файлами?Эти данные постоянно обновляются, поэтому вместо того, чтобы загружать потоки XML при каждом посещении, мне бы хотелось, чтобы какой-нибудь робот делал это каждые 5 минут локально, а посетители читали только из локальных копий.

Какие методы вы бы использовали дляубедитесь, что при загрузке новых результатов XML-файлы не блокируются или нет нулевых результатов?

Спасибо.

Ответы [ 2 ]

1 голос
/ 18 октября 2010

Одним из вариантов будет использование memcached.Вы можете кэшировать данные XML и установить срок действия, скажем, на 5 минут, и ваши страницы загрузят данные из memcached.

Другим вариантом (проще в настройке или если у вас нет ОЗУ для резервирования) будет сохранение загруженных данных в реляционной базе данных вместо загрузки страницы.Затем пусть ваши страницы загрузят данные оттуда.

1 голос
/ 18 октября 2010

Я бы, вероятно, сохранил данные в memcached и обновлял там данные после каждой загрузки. У вас всегда будут доступны данные, даже если файл отсутствует на диске, и у вас будет на порядок меньше дискового ввода-вывода, чем при их чтении непосредственно из файла, что значительно повысит производительность.

Для C # я думаю, что эта библиотека вам понадобится: http://sourceforge.net/projects/memcacheddotnet/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...