Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Xранение сессий в БД...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Sanek
Отправлено: 14 Января, 2009 - 07:51:37
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Собственно уже почитал литературу, попросматривал примеры и начал писать свой класс... Для себя пока вижу только плюсы хранения сессий в бд, но хотелось бы узнать общее мнение... И так сессии-files или сессии в БД....,кто что посветует?
 
 Top
valenok Модератор
Отправлено: 14 Января, 2009 - 08:31:57
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Разумеется предпочтение отдаётся уже встроенному механизму в языке.
Сессии в базе это пародия на сессии если по каким то причинам в действительности их использовать нельзя.


-----
Truly yours, Sasha.
 
My status
 Top
Stierus Супермодератор
Отправлено: 14 Января, 2009 - 08:46:26
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Если есть какие-то причины переносить сессии в базу - напишите их, если нет - нафигн это нужно ?
 
My status
 Top
CodeWarrior
Отправлено: 19 Января, 2009 - 13:17:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2009  
Откуда: Албания


Помог: 0 раз(а)




Stierus пишет:
Если есть какие-то причины переносить сессии в базу - напишите их, если нет - нафигн это нужно ?

Это в основном нужно для форумов. Для того чтобы внизу было написано: эту страницу просматривают: и список логинов посетителей... Других причин я не знаю.
 
 Top
Stierus Супермодератор
Отправлено: 19 Января, 2009 - 13:19:30
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Цитата:
Это в основном нужно для форумов. Для того чтобы внизу было написано: эту страницу просматривают: и список логинов посетителей


А как связаны, где хранить сессии и эта незаурядная надпись на форуме ?

(Отредактировано автором: 19 Января, 2009 - 13:19:53)

 
My status
 Top
Sanek
Отправлено: 19 Января, 2009 - 14:52:54
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




В моем случае есть небольшой проектик (работает в рамках предприятия-движение договоров, оплат и мн.др.)использующий обычные сессии; появилась потребность в сохранении данных сессии.... вот и решил запихнуть сессии в бд, дабы не переделывать весь проект...
 
 Top
Stierus Супермодератор
Отправлено: 19 Января, 2009 - 15:09:29
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Sanek, советую переопределить функции сбора мусора (если нужно, удаления и изменения сессионных данных). Хранить архив сессий с активными (тоесть отключить сборку мусора вообще) - не самая хорошая идея, производительность сильно понизится. Таблица будет разрастаться как на дрожжах , выборка по ней будет всё медленнее и медленнее, хотя на практике информация архивная вам будет требоваться в тысячи раз реже, чем те копейки (по отношению к общему числу записей), которые пользователю будут требоваться с каждым запросом скрипта. Эту информацию обязательно надо разделять (архив и текущие сессии)

(Отредактировано автором: 19 Января, 2009 - 15:11:07)

 
My status
 Top
Sanek
Отправлено: 19 Января, 2009 - 15:38:50
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




я наверно полохо обьяснил свою задумку.... stierus я не собираюсь xранить архив сессий БД...
Для хранения сессий планировал создать таблицу типа:
DROP TABLE IF EXISTS `session`;
CREATE TABLE IF NOT EXISTS `session` (
`id` int(11) NOT NULL auto_increment,
`user_id` int(11) NOT NULL default '0',
`session_id` varchar(32) NOT NULL DEFAULT '',
`last_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', /* последние обновления */
`session_data` TEXT NOT NULL, /* Данные, хранящиеся в сессии */.......

а от файловых сессий я вообще хотел отказаться

(Отредактировано автором: 19 Января, 2009 - 15:39:18)

 
 Top
Stierus Супермодератор
Отправлено: 19 Января, 2009 - 15:53:23
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Цитата:
появилась потребность в сохранении данных сессии
Я не думаю, что ты имел ввиду сохранение на день. Тоесть ты перенёс все сессии в базу данных и не чистишь их, что бы они сохранялись, правильно понимаю ?
 
My status
 Top
Sanek
Отправлено: 19 Января, 2009 - 16:07:36
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Stierus пишет:
Я не думаю, что ты имел ввиду сохранение на день

Не только на день, но и на более длительный срок.... колочество записей в таблице будет (пишу будет потому что большая часть этой задумки пока в голове...) равна кол-ву пользователей; при авторизациии пользователя стартует его сессия...
 
 Top
CodeWarrior
Отправлено: 19 Января, 2009 - 16:47:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2009  
Откуда: Албания


Помог: 0 раз(а)




Stierus пишет:
А как связаны, где хранить сессии и эта незаурядная надпись на форуме ?

При переходе со страницы на страницу в базу заносится id страницы и темы где вы находитесь. Скрипт делает выборку в таблице сессий на наличие активных сессий (извиняюсь за тафталогию) и внизу страницы темы форума показывает тех кто сейчас сидит под соответствующими id... Как-то так. Я форум еще не писал, но механизм отдаленно представляю и слышал что если вы хотите реалезовать такой механизм, то нужно хранить сессии в базе. Собсна, об этом можно прочитать в инете... Например, введя в гугле фразу "Хранение сессий в базе данных".
 
 Top
Stierus Супермодератор
Отправлено: 19 Января, 2009 - 17:02:09
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Sanek, вы представляете примерно механизм работы сессий ?
CodeWarrior,
Цитата:
Скрипт делает выборку в таблице сессий на наличие активных сессий
, как вы себе это представляете ? (все форумы ведут статистику онлайн в поле базы данных, никакого отношения к сессиям это не имеет)
 
My status
 Top
CodeWarrior
Отправлено: 19 Января, 2009 - 17:48:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2009  
Откуда: Албания


Помог: 0 раз(а)




Stierus пишет:
как вы себе это представляете ? (все форумы ведут статистику онлайн в поле базы данных, никакого отношения к сессиям это не имеет)

Читайте:
Цитата:
Как-то так. Я форум еще не писал, но механизм отдаленно представляю и слышал что если вы хотите реалезовать такой механизм, то нужно хранить сессии в базе.

Вот и все.
 
 Top
Гость
Отправлено: 20 Января, 2009 - 14:53:59
Post Id


УДАЛЁН










Цитата:
Все форумы ведут статистику онлайн в поле базы данных, никакого отношения к сессиям это не имеет
Какой форум какой механизм Ведь гораздо более удобно сделать выборку из базы и по текущим сессиям узнать кто онлайн

(Отредактировано автором: 20 Января, 2009 - 14:55:49)

 
 Top
Stierus Супермодератор
Отправлено: 20 Января, 2009 - 15:07:10
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Напишите код и увидите, на сколько "удобнее". Сессия создаётся (привязывается, если создана раньше) при каждом вызове session_start() и серверу всё равно, откуда вызвана эта функия, из блогов, новостей, форума или где-то ещё на этом сервере - сессии у них общие. Подсчитать количество таких сессий - не есть подсчитать количество людей онлайн на форуме, добавьте к этому рандом в механизме сбора мусора и поймёте, что предлагаете бред.

Совсем другой разговор, если речь не о обычных сессиях php, а неких механизмах, реализованых в логике приложения.

(Отредактировано автором: 20 Января, 2009 - 15:07:39)

 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB