|
|
|
| Посоветуйте как поступаете вы...
У меня от одного скрипта к другому передается несколько переменных.
Когда их было мало, закидывал их в URL-строку по типу file.php?var=value&...
Когда их стало много (около 15 сейчас), возник вопрос какой вариант лучше. Пока их передаю через POST (приходится формировать искусственные формы), которые активируются при нажатии на гиперссылку. Т.е. java-гиперссылки.
Последнее время перестал устраивать такой вариант. Рассматриваю варианты:
1. Записи в файл.
+ экономится оперативка
- скорость доступа скорее всего упадет.
2. Запись в БД
+ упрощается обновление переменных - записываются только измененные
- сложное обращение и запись
3. Передача переменных через сессию
? опасаюсь, что переменные, заданные в сессиях, будут храниться в оперативке сервера.
Поскольку портал будет обслуживать несколько сотен и возможно даже тысяч посетителей одновременно, остро стоит вопрос производительности и экономии ресурсов... Так что придется потестить видимо разные варианты.
Что посоветуете по этому? | |
|
|
|
|
|
|
|
для: ДацкыйКот
(05.03.2008 в 16:25)
| | Первый и второй вариант, по-моему, изврат! | |
|
|
|
|
|
|
|
для: olejek
(05.03.2008 в 16:39)
| | "И PHP запишет в файл, связанный с этой сессией, переменную test." http://phpfaq.ru/sessions
так все-таки сессионные переменные хранятся в оперативке или файлах? не хотелось бы грузить десятки тысяч переменных в озу | |
|
|
|
|
|
|
|
для: ДацкыйКот
(05.03.2008 в 16:43)
| | десятки тысяч переменных в озу
В первом посте речь шла о 15)) такими темпами..... | |
|
|
|
|
|
|
|
для: ДацкыйКот
(05.03.2008 в 16:25)
| | Я так понял, одним скиптом их надо записать, другим их прочитать... почему вы думаете, что скорость при использовании файлов упадёт? Незабывайте что база данных в конечном итоге тоже всю информацию хранит в файлах. Как промежуточный вариант есть плоские файлы.
А вот на счёт сессии даже незнаю... чего вы опасаетесь-то? Использовать сессии по их прямому назначению? | |
|
|
|
|
|
|
|
для: Valick
(05.03.2008 в 16:45)
| | >"И PHP запишет в файл, связанный с этой сессией, переменную test." http://phpfaq.ru/sessions
Вы же сами ответили на свой вопрос. Зачем изобретать велосипед?! | |
|
|
|
|
|
|
|
для: olejek
(05.03.2008 в 16:49)
| | удалено// | |
|
|
|
|
|
|
|
для: olejek
(05.03.2008 в 16:49)
| | хм.. а вы сами всем статьям по PHP доверяете?
нашел, что способ хранения сессий задается в php.ini файле: по умолчанию директива
session.save_handler = "files"
то есть нужно обязательно смотреть что там в настройках у хостера..
по всей видимости есть и другие варианты хранения переменных, но инфа по этой директиве скудная и пока не нашел...
а что касается количества переменных - это пользовательские динамические настройки, так что при 1000 юзеров 15 настроек превращаются в 15 000 переменных... не большое удовольствие загонять все это в ОЗУ... | |
|
|
|
|
|
|
|
для: ДацкыйКот
(05.03.2008 в 17:02)
| | Ну пользовательские динамические (хотелось бы знать насколько динамические?) настройки можно как вариант и в куках хранить.
стало интересно сколько весят 15 000 переменных? | |
|
|
|
|
|
|
|
для: Valick
(05.03.2008 в 17:14)
| | от 0,1 до 5 кбайт на каждого юзера... так что если в оперативку загоню, хостер наверняка предложит на другой тариф перейти... вряд ли смирится с тем что я в пиковые часы забираю десятки мегабайт оперативки... | |
|
|
|
|
|
|
|
для: ДацкыйКот
(05.03.2008 в 17:22)
| | Всётаки думаю ваши опасения напрасны. По умолчанию-то сессии хранятся в файлах.
Как вариант можете организовать свой обработчик сессий и хранить всё это дело в базе данных.
как вариант действительно хранить пользовательские настройки в файле, и инклюдить к скрипту каждому пользователю свой, а в сесиях передавать ID пользователя, которому соответствует такойже файл... вообщет по идее оно у вас и должно передаваться.
Ещё вариант, генерить временный файл (на время сессии) в качестве имени использовать идентификатор сессии, данные в него брать из куков, и всё так же инклюдить к скрипту. | |
|
|
|
|
|
|
|
для: ДацкыйКот
(05.03.2008 в 17:02)
| | Если эти переменные - динамические настройки пользователя, то лучше их хранить в куках самого пользователя, имхо. | |
|
|
|
|
|
|
|
для: ДацкыйКот
(05.03.2008 в 16:25)
| | Сессии, куки, GET, POST | |
|
|
|