Привет.
Думаю все с эти сталкивались хотя бы однажды.
Есть на сайте место, где вычисляется путь до файла: вычисление на основе запроса в БД...потом разные манипуляции с присоединением других путей в итоге операция хоть и не очень сложная, но все таки длинная.
Так вот на этой же странице прикрутил кнопку "обновить" где все делается AJAX`ом.
Вроде все нормально, но бесит, что каждый раз при тыканье происходит это "правильное" до ужаса вычисление.
Сижу вот и думаю, может путь закинуть в сессию, чтоб не вычислять каждый раз. Приложение с центральной точкой входа поэтому по этой части проблем не будет, проблемы с изменением пути в связи с изменениями в БД есть, но тоже незначительны.
Вроде хочется сделать, но останавливает какая-то интуиция, что так лучше не делать.
Что думаете?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Valick
15.01.2014 - 10:30
Цитата |
Есть на сайте место, где вычисляется путь до файла |
лучше один раз увидеть, чем сто раз услышать
покажи алгоритм по которому происходит вычисление
_____________
Стимулятор ~yoomoney - 41001303250491
Цитата |
лучше один раз увидеть, чем сто раз услышать покажи алгоритм по которому происходит вычисление |
Нет, там все слишком сложно и секретно, дело же не в алгоритме, а в совете. Смысл написанного думаю понятен.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
linker
15.01.2014 - 11:00
Ну, например, подумать возможно ли обойтись без запроса к БД.
_____________
Gear FrameworkGear Framework на Github
Цитата |
Ну, например, подумать возможно ли обойтись без запроса к БД. |
Ну можно обойтись только если его засунуть в переменную. Я предложил в сессию, так как отправлять AJAX`ом GET или POST опасно.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
linker
15.01.2014 - 12:37
ABCЯ имею ввиду, что в цепочке вычисления пути убрать звено-запрос к БД и реализовать это как-то иначе, т.е. придумать иной алгоритм вычисления.
_____________
Gear FrameworkGear Framework на Github
linker
А понятно. Нууу думаю сейчас.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
waldicom
15.01.2014 - 16:55
Надеюсь там файловая система не дергается каждый раз (например file_exists)?
И еще вопрос: если ты хочешь закинуть в сессию уже рассчитанный путь, то почему тогда не записать в базу напрямую этот самый уже рассчитанный путь?
_____________
Свои мозги еще никто не отменял.
Телепатов нету.
waldicom
Цитата |
Надеюсь там файловая система не дергается каждый раз (например file_exists)? |
Дергается через is_file...как без этого?
Цитата |
И еще вопрос: если ты хочешь закинуть в сессию уже рассчитанный путь, то почему тогда не записать в базу напрямую этот самый уже рассчитанный путь? |
слишком избыточно в моем случае будет
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
waldicom
15.01.2014 - 17:56
Видимо надо знать специфику приложения. Почему без проверки файла не обходится? При 100 клиентах доступ на ФС будет произведен 100 раз. Оно действительно надо?
_____________
Свои мозги еще никто не отменял.
Телепатов нету.
waldicom
Цитата |
При 100 клиентах доступ на ФС будет произведен 100 раз. Оно действительно надо? |
Я не понимаю может...
Ну неужели проверка на наличие файла такая тяжелая??? Неужели 100 is_file повесят сервер?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
waldicom
15.01.2014 - 20:27
Цитата (ABC @ 15.01.2014 - 17:23) |
Ну неужели проверка на наличие файла такая тяжелая??? Неужели 100 is_file повесят сервер?
|
Повесят? Нет. Я же не знаю, сколько пользователей в секунду в системе.
_____________
Свои мозги еще никто не отменял.
Телепатов нету.
waldicom
Ну а в чем проблема может быть, как то я считал, что это, как аксиома?
Ну разве некоректно перед тем, как делать скажем file_get_contents сначала делать проверку is_file? Даже если ошибки отключены?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
waldicom
15.01.2014 - 20:39
Цитата (ABC @ 15.01.2014 - 17:29) |
Ну разве некоректно перед тем, как делать скажем file_get_contents сначала делать проверку is_file? Даже если ошибки отключены?
|
Во-первых я исходил немного из других условий. Я думал высчитывается ссылка на файл. И применения в такой ситуации функции file_get_contents я не вижу (если файлы для пользователей проекта).
Все зависит от проекта. Если немного пользователей, то наверное можно. Да и вообще, каждый решает сам...
_____________
Свои мозги еще никто не отменял.
Телепатов нету.
linker
15.01.2014 - 21:21
Так или иначе, но ОС, насколько известно мне кэширует "данные по работе с файлами", грубо говоря. Во-вторых если уж хочется сохранять в базу, то может использовать кэш?
_____________
Gear FrameworkGear Framework на Github
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.