[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вычислять путь или спрятать его в сессию?
GET
Привет.

Думаю все с эти сталкивались хотя бы однажды.

Есть на сайте место, где вычисляется путь до файла: вычисление на основе запроса в БД...потом разные манипуляции с присоединением других путей в итоге операция хоть и не очень сложная, но все таки длинная.

Так вот на этой же странице прикрутил кнопку "обновить" где все делается AJAX`ом.

Вроде все нормально, но бесит, что каждый раз при тыканье происходит это "правильное" до ужаса вычисление.

Сижу вот и думаю, может путь закинуть в сессию, чтоб не вычислять каждый раз. Приложение с центральной точкой входа поэтому по этой части проблем не будет, проблемы с изменением пути в связи с изменениями в БД есть, но тоже незначительны.

Вроде хочется сделать, но останавливает какая-то интуиция, что так лучше не делать.

Что думаете? smile.gif

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Valick
Цитата

Есть на сайте место, где вычисляется путь до файла

лучше один раз увидеть, чем сто раз услышать
покажи алгоритм по которому происходит вычисление


_____________
Стимулятор ~yoomoney - 41001303250491
GET
Цитата
лучше один раз увидеть, чем сто раз услышать
покажи алгоритм по которому происходит вычисление


Нет, там все слишком сложно и секретно, дело же не в алгоритме, а в совете. Смысл написанного думаю понятен.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
linker
Ну, например, подумать возможно ли обойтись без запроса к БД.

_____________
Gear Framework
Gear Framework на Github
GET
Цитата
Ну, например, подумать возможно ли обойтись без запроса к БД.


Ну можно обойтись только если его засунуть в переменную. Я предложил в сессию, так как отправлять AJAX`ом GET или POST опасно.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
linker
ABC
Я имею ввиду, что в цепочке вычисления пути убрать звено-запрос к БД и реализовать это как-то иначе, т.е. придумать иной алгоритм вычисления.

_____________
Gear Framework
Gear Framework на Github
GET
linker

А понятно. Нууу думаю сейчас.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
waldicom
Надеюсь там файловая система не дергается каждый раз (например file_exists)?
И еще вопрос: если ты хочешь закинуть в сессию уже рассчитанный путь, то почему тогда не записать в базу напрямую этот самый уже рассчитанный путь?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
GET
waldicom
Цитата
Надеюсь там файловая система не дергается каждый раз (например file_exists)?


Дергается через is_file...как без этого?
Цитата
И еще вопрос: если ты хочешь закинуть в сессию уже рассчитанный путь, то почему тогда не записать в базу напрямую этот самый уже рассчитанный путь?


слишком избыточно в моем случае будет

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
waldicom
Видимо надо знать специфику приложения. Почему без проверки файла не обходится? При 100 клиентах доступ на ФС будет произведен 100 раз. Оно действительно надо?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
GET
waldicom
Цитата
При 100 клиентах доступ на ФС будет произведен 100 раз. Оно действительно надо?

Я не понимаю может...

Ну неужели проверка на наличие файла такая тяжелая??? Неужели 100 is_file повесят сервер?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
waldicom
Цитата (ABC @ 15.01.2014 - 17:23)
Ну неужели проверка на наличие файла такая тяжелая??? Неужели 100 is_file повесят сервер?

Повесят? Нет. Я же не знаю, сколько пользователей в секунду в системе.

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
GET
waldicom

Ну а в чем проблема может быть, как то я считал, что это, как аксиома?


Ну разве некоректно перед тем, как делать скажем file_get_contents сначала делать проверку is_file? Даже если ошибки отключены?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
waldicom
Цитата (ABC @ 15.01.2014 - 17:29)
Ну разве некоректно перед тем, как делать скажем file_get_contents сначала делать проверку is_file? Даже если ошибки отключены?

Во-первых я исходил немного из других условий. Я думал высчитывается ссылка на файл. И применения в такой ситуации функции file_get_contents я не вижу (если файлы для пользователей проекта).
Все зависит от проекта. Если немного пользователей, то наверное можно. Да и вообще, каждый решает сам...

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
linker
Так или иначе, но ОС, насколько известно мне кэширует "данные по работе с файлами", грубо говоря. Во-вторых если уж хочется сохранять в базу, то может использовать кэш?

_____________
Gear Framework
Gear Framework на Github
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.