(PHP) почему PHP+MySQL, а не просто PHP?

про сессии
Дата: 22.09.2006 13:19:38
Добрый день!
Когда реализовал сессии, то возник такой у меня вопрос.
Они у меня сделаны только средствами PHP, но когда
посмотрел на форумах, то нередко мелькало, что многие делают их PHP+MySQL.
С чем это связано, в чем плюсы и минусы?
anvano
Дата: 22.09.2006 13:26:54
1) Не захламляется файловая система сервера.
2) Не зависит от настройки PHP на сервере (встречал такое что была указана директория для сессий, на которую не было прав на запись)
3) Легче управлять сессиями, чистить старые.
4) Дополнительная защита (сомнительно правда) чтобы посмотреть содержимое сессии надо лезть в базу данных, а не просто в файл на диске.

ну и личные предпочтения конечно :) кому как больше нравится

--------------------------------------------------------------
Правильно заданный вопрос содержит в себе половину ответа
про сессии
Дата: 22.09.2006 13:40:59
Спасибо за ответ! Возможно я не прав, но все же:
1) Не захламляется файловая система сервера.
в отдельный каталог и не париться, все равно эти файлы не нужны для просморта пользователем

2) Не зависит от настройки PHP на сервере (встречал такое что была указана директория для сессий, на которую не было прав на запись)
в начале скрипта можно указать директорию, которая нравится

3) Легче управлять сессиями, чистить старые.
чем? и одном и в другом случае придется написать код

4) Дополнительная защита (сомнительно правда) чтобы посмотреть содержимое сессии надо лезть в базу данных, а не просто в файл на диске.
зависит как настроить

ну и личные предпочтения конечно :) кому как больше нравится
без комментариев :)
-.-.-.-.-.-
Дата: 22.09.2006 17:11:04
Если у вас нагрузка распределяется между несколькими серверами, то данные сессий должны хранится централизовано, а не в файлах на каждом веб-сервере.
В этом случае хранение сессий в БД - один из вариантов решения проблемы.
Anjey aka PM
Дата: 22.09.2006 17:20:28
про сессии
Спасибо за ответ! Возможно я не прав, но все же:
1) Не захламляется файловая система сервера.
в отдельный каталог и не париться, все равно эти файлы не нужны для просморта пользователем


не сравнивайте файловую систему с БД. Конечно на линухе ext2\ext3 умеют индексировать каталог, но вопервых это не настолько эффективно как индексирование в БД вовторых кластеризацию диска еще никто не отменял. А если у вас хостинг на виндовсе, то при наличии 10к+ файлов в одном каталоге даже банальное открытие файла по имени будет очень трудоемко (про ФАТ вообще никто не говорит, там жесткий лимит 2048 в фат16 и еще сколько-то там в фат32).

Конечно в новых версиях ПХП появилась фишка раскидывать файлы сессии по подкаталогам, но опять таки не все так хорошо в консерватории и зачастую время на открытие этого файла и ресурсы системы расходуются больше чем время на поиск записи в БД к которой большинство нормальных проэктов и без этого коннектится (посему время конекта не считаем).

про сессии
3) Легче управлять сессиями, чистить старые.
чем? и одном и в другом случае придется написать код

смотри выше, индексы в БД в большинстве случаев эффективнее индексов в файловой системе. При этом если ПХП использует разброску файлов сессии по разным подкаталогам то чистка занимает МНОГО больше времени чем индексированное удаление данных из БД. (хотябы потому что открытие каталога и получения списка файлов + получение атрибутов к каждому файлу, таких как дата модификации, суть атомарные операции, посему поиск и удаление устаревших файлов по каталогу/каталогам сродни неиндексированному натуральному просмотру таблицы для удаления устаревших данных).
про сессии
Дата: 22.09.2006 18:37:28
Спасибо за ответы! Теперь придется учесть.