#1 18.07.09 10:28
[php] Что быстрее ?
Требуется на сайте отображать курсы валют и т.д. Раз в сутки кроном стартуется скрипт берущий курсы с ЦБ и кладущий их в базу\файл. А вот куда класть немогу определиться. Базы у сайтов разные, поэтому чтоб брать с базы придется делать два коннекта. Думаю добавить в open_basedir какую-нибудь папку общую и с ней брать сериализованный массив инфы.
Что думаете, как лучше\быстрее будет ? С базы или с файла ?
Offline
#2 18.07.09 10:45
Re: [php] Что быстрее ?
В БД каждого сайта сделай таблицу с курсами валют и пиши данные в них. Если эти данные на сайтах у тебя запрашиваются часто - подруби кэширование.
P.S.
Идея с файлом - не вариант: все данные должны хранится в одном месте. Исключения из этого правила возможны, но тут не тот случай.
Offline
#3 18.07.09 12:29
Re: [php] Что быстрее ?
Я все-таки больше склоняюсь к файлу, т.к. если хранить в базах сайтов то придется каждый раз лазить в скрипт который берет инфу и добавлять там базы. Тем более все равно уже есть в open_basedir папка с GeoIP и прочей хренью для статы, сделал чтобы в каждый сайт их не копировать. Надо будет потестить - раз так тысячу файл пооткрывать\позакрывать и к базе по два раза поконнектиться, посмотреть что быстрее будет.
Offline
#4 18.07.09 15:08
Re: [php] Что быстрее ?
MyName, вообще БД кэширует частые запросы и после некоторого момента скорость запросов к БД будет больше... мало того, сайт у тбя динамический и подключение к БД ты в любом случае делаешь, а держать просто общую базу для всех сайтов не такая уж и проблема... ну, а сделать селект базы в одном и том же подключении тоже не проблема...
Offline
#7 18.07.09 23:13
Re: [php] Что быстрее ?
Диман, ты считаешь, что миллион запросов на чтение файла с диска будет выполняться быстрее, чем миллион запросов к закэшированной в памяти информации? не надо говорить, что файл тоже будет кэшироваться... проблема в том, что файл со временем вырастит, а никто не отменял процесс парсинья файла...
Offline
#8 19.07.09 00:16
Re: [php] Что быстрее ?
не быстрее да. просто я против того что бы лишний раз ерепенить бд когда проблему можно решить подругому, так как бд часто узкое место многих проектов. тем более файлик врятли вырастит в обьёме если хранить только актуальный курс и величину изменения от предыдущего курса.
Offline
#9 19.07.09 04:37
Re: [php] Что быстрее ?
а что, никто ещё не сделал api к курсу валют на каком-нибудь большом проекте?
ну чтобы можно было одни простым запросом забирать xml данные и имплеменить к себе)
тогда проблема полностью ложится на сервер курса и браузер клиента)
+ к тому можно перед заказчиком выпендриться своим технологичным решением с применением xml, javascript и полной мозгов головы
Offline
#10 19.07.09 15:48
#11 19.07.09 23:28
Re: [php] Что быстрее ?
Jaguar написал(а):
Угрюмый кебаб, есть канешь... 1С же забирает курсы валют...
1с парсит хмл с сайта ЦБ РФ, где тут я ссылку давал
Jaguar написал(а):
iDrum, ага... т.е. ты предлагаешь к процессу чтения добавить еще сложение/вычитание? :)
парсим-вычитаем-сохраняем, то есть храним уже результат
Jaguar написал(а):
Диман, ты же не знаешь какая хронология требуется...
да скорей всего просто актуальный курс валют и может быть разница со вчерашним днём, хроника изменений обычно нафиг не нужна.
Offline
#12 20.07.09 02:44
Re: [php] Что быстрее ?
проблема в том, что файл со временем вырастит, а никто не отменял процесс парсинья файла...
Файлик то навряд ли вырастит, нужен только текущий курс и ничего более, никаких разниц нахрен ненадо.
Да и парсить там нечего, тупо сериализнуть и сохранить а потом считать и ансериализнуть.
1с парсит хмл с сайта ЦБ РФ, где тут я ссылку давал
Да вот она- http://www.cbr.ru/scripts/XML_daily.asp, можно добавить d=... тогда выдаст те которые раз в месяц назначаются.
Offline
#13 20.07.09 10:13
Re: [php] Что быстрее ?
MyName написал(а):
Да вот она- http://www.cbr.ru/scripts/XML_daily.asp, можно добавить d=... тогда выдаст те которые раз в месяц назначаются.
нах тебе этат d чё бы Таджикских сомони вывести что ли:) , знаю что есть date_req - получаем курс любого дня с 98 года
Offline

