Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Объясните логику работу с $_SESSIONS

244
12 февраля 2007 года
UAS
2.0K / / 19.07.2006
Вот пример. Щас делаю админку для одного проекта. Все будет работать на сессии. Так вот. Все данные нужные пихаю в $_SESSIONS
 
Код:
// отрывок моего кода
$_SESSION["user_id"]=$DB->result($result,1);
$_SESSION["last_activity"]=date("YmdHi");
$_SESSION["status"]=0;

так вот. а как-то лазил я по движкам форумов.. там данные сесси хранятся в БД. Вот я думаю почему?? Ведь работать напрямую с $_SESSIONS[] намного быстрее чем с БД!!!
8
12 февраля 2007 года
mfender
3.5K / / 15.06.2005
Цитата: UAS
Вот пример. Щас делаю админку для одного проекта. Все будет работать на сессии. Так вот. Все данные нужные пихаю в $_SESSIONS
 
Код:
// отрывок моего кода
$_SESSION["user_id"]=$DB->result($result,1);
$_SESSION["last_activity"]=date("YmdHi");
$_SESSION["status"]=0;

так вот. а как-то лазил я по движкам форумов.. там данные сесси хранятся в БД. Вот я думаю почему?? Ведь работать напрямую с $_SESSIONS[] намного быстрее чем с БД!!!


Всё правильно. БД для того и существует, чтобы было удобнее. Файлы - чтобы быстрее.

Фактически, всё можно сделать на куках + файлы или БД. Единственное, что я увидел в сессиях, отличающегося от вышенаписанного подхода - сессии PHP сами идентификатор в ссылки подставляют, если в браузере куки отключены. Всё. Пока больше преймуществ я не заметил, несмотря на трёхлетнее созерцание всего этого механизма.

PS. Да и это преймущество видится мне скорее недостатком: Нафига нужна вся эта красота с PHPSESID'ами полметровыми в поисковиках (у них-то точно куки отключены).

256
12 февраля 2007 года
foxweb
1.0K / / 27.07.2005
хм. но что же ты от нас хочешь? у меня тоже есть админка, в которой в сессиях я храню id юзера и массив его прав. всё хорошо. если у тебя так - продолжай в том же стиле.
244
12 февраля 2007 года
UAS
2.0K / / 19.07.2006
foxweb,
я просто хочу понять в чем преимущество хранить данные сессии в БД??
Просто имхо намного быстрее и удобнее работать с массивом $_SESSIONS, чем выполнять запросы к БД. Но вель движки различные работают с БД. Просто хочу узнать чем это выгоднее...
256
13 февраля 2007 года
foxweb
1.0K / / 27.07.2005
да потому что нет смысла ради чтения-записи одного-двух байт трясти БД запросами, да к тому же, если через несколько минут эта инфа станет ненужной. сессии - для быстрого переноса данных в процессе сёрфа между страницами. вот и вся выгода.
16K
13 февраля 2007 года
WorM
33 / / 11.06.2006
сессии удобно хранить в бд когда используются кластеры
13
13 февраля 2007 года
RussianSpy
3.0K / / 04.07.2006
Сессии для быстрого доступа к небольшим объемам данных которые актуальны небольшое время для одного пользователя, а именно всякая информация о его аккаунте. Базы данных для постоянного хранения больших объемов информации, т.к. они намного быстрее оперируют сотнями тысяч и миллионами записей, чем работая с обычным файлом.

Логика проста: мало и ненадолго - сессии, много и надолго - БД.

Есть случаи когда используют БД для хранения информации о сессии - тебе это пока не надо.
244
13 февраля 2007 года
UAS
2.0K / / 19.07.2006
Видно я не правильно сформулировал вопрос. Я знаю для чего сессии, и что они для малых данных, или наоборот. Я просто хотел понять почему в форумах сессии хранят в БД. Ответ получил:
Цитата:
Есть случаи когда используют БД для хранения информации о сессии - тебе это пока не надо.


Спасибо. Думаю можно закрыть тему

244
13 февраля 2007 года
UAS
2.0K / / 19.07.2006
Я понял! Надо мне меньше пить! Сессии в БД применются для того чтобы также подсчитывать кол-во юзверей онлайн...

Все. Завязываю со встречей выпускников... А то от пива 2 неделю подряд уже башка не варит(((
8
13 февраля 2007 года
mfender
3.5K / / 15.06.2005
Цитата: UAS
Я понял! Надо мне меньше пить! Сессии в БД применются для того чтобы также подсчитывать кол-во юзверей онлайн...

Все. Завязываю со встречей выпускников... А от пива 2 неделю подряд уже башка не варит(((


гм-гм... Ну, вобщем-то, ты это... с пиффком завязывай :D

244
13 февраля 2007 года
UAS
2.0K / / 19.07.2006
нееее! пифко руль!!! а также Ягуарчик!!!)))
12
14 февраля 2007 года
alekciy
3.0K / / 13.12.2005
Вообще стоит помнить, что сессии не вечны, в отличие от записей в БД. И "сборщик мусора" на сервере может автоматом и потереть файл с сессиоными данными. Собственно именно это он и сделает. Поэтому если аккаут юзверя хранить в БД, то его банально можно будет утратить.

В БД же данные хранять столько времени, сколько тебе нужно. Пока сам их не затрешь. Кроме того использование сессии может быть потенциальной дырой при невнимательном проектировании системы. Ведь SID автоматом пишется в URL и если юзверь даст кому-то ссылку с этим SID, то этот кто-то другой (не авторизованный) зайдет на сайт под этой ссылке авторизованным.

В первом приближении можно придерживаться такого правила. Первый раз юзверь вошел на сайт и прошел авторизацию, то делаем запрос к БД и дергаем нужные данные. Пишем их в сессию, SID передает через куки отрубив автопередачу через URL и потом уже дергаем сессию и лишний раз не тревожим БД. Получаем с клиента куки с SID, смотрим если ли такая сессия у нас (может её уже сборщик мусора затер), если есть, юзаем её, нет значит делаем запрос к БД и стартуем новую сессию прописав нужные данные из запроса в сессионные переменные.
92
18 февраля 2007 года
Тень Пса
2.2K / / 19.10.2006
UAS,
чокнулся??? ягуар ваще не пей - равносильно водке с burn'ом ))))
244
18 февраля 2007 года
UAS
2.0K / / 19.07.2006
А чё? По мне так самое то!!! Главное не перепить - однажды подружка выпила 6 банок...
Ну короче она отрубилась в глубокий литоргический сон и ниче не помнила))) Так что Ягуар, ...., вещь сногсшибательная!!! :D

PS: модераторы плз не бейте за оффтопы)))
256
18 февраля 2007 года
foxweb
1.0K / / 27.07.2005
Цитата: UAS
А чё? По мне так самое то!!! Главное не перепить - однажды подружка выпила 6 банок...
Ну короче она отрубилась в глубокий литоргический сон и ниче не помнила))) Так что Ягуар, ...., вещь сногсшибательная!!! :D

PS: модераторы плз не бейте за оффтопы)))


да, для подруг конечно самое то ;)
бёрн - аццкая вода. давно кстати не пил, надо б взять...

15
19 февраля 2007 года
shaelf
2.7K / / 04.05.2005
Люди, создайте в гостевой темы "Моё любимое пиво", а то уже разростаться начинает.
PS Я конечно понимаю, что пиво и программирование вещь неразделимая, но всё же)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог