Вопрос по сессиям. Делаю корзину.

Статус
В этой теме нельзя размещать новые ответы.

koder

Истина здесь
Вопрос по сессиям. Делаю корзину.

Делаю Ajax корзину, подскажите, в сессии, когда храню я там товары...мне кроме кодо товара и кол-ва, указывать название или каждый раз навзвание с помощью sql узнавать?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
koder
Ну если не жалко каждый раз БД дёргать то дёргайте.
При условиях прогнозированния мегапосещаемости. Я бы хранил всю информацию в сессиях по максимуму, чтоб уменьшить количество запросов к БД

-~{}~ 22.06.07 00:23:

Такая себе экономия на спичках
 

koder

Истина здесь
Mr_Max,
просто в одно скрипте видел, как каждый раз база дергается, чтоб узнать цену товара, по коду товара, который хранится в сессии..

-~{}~ 22.06.07 01:25:

Это что получается, при каждом обновлении страниц, придется обращаться к сессии..?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
koder
Это что получается, при каждом обновлении страниц, придется обращаться к сессии..?
Ну или БД или Сессии. третьего не дано.
 

dimagolov

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

Фанат

oncle terrible
Команда форума
Это что получается, при каждом обновлении страниц, придется обращаться к сессии..?
вот так у нас и получается, что "корзину на аяксе" пишут люди, не читавшие фак на танке, и представления не имеющие, что такое пэхапе.

не позорился бы, гражданин кодер
 

koder

Истина здесь
dimagolov
У меня и хранится в переменых JS название продукта. При добавлени товара в корзину, товар добавляется средствами AJAX. А потом, когда переходим на другю страничку, это же то что добавили нужно сохранить наверно в сессии, и каждый при переходе на другие страницы, считывать какие мы товары добавили и вставлять их в шаблон smarty...
так?
 

Фанат

oncle terrible
Команда форума
koder
Тебе настоятельно рекомендуется сделать корзину БЕЗ аякса.
После того, как ты поймешь, что такое корзина, и как она работает - будешь переделывать на аякс.

-~{}~ 22.06.07 10:18:

тема закрыта.
по сессиям читай faq
 

koder

Истина здесь
А на вопрос мой сложно ответить, всего лишь написать да или нет..
 

HraKK

Мудак
Команда форума
koder
Мне нужно забить гвоздь,беру микроскоп и думаю верхней частью забивать гвозди или нижней? Ответь да или нет?
 

HraKK

Мудак
Команда форума
А правильный ответ возми молоток.

Если же ты хочешь именно "да/нет" - тогда ответ - да. Или нет.
Не важно.

Когда ты вырастешь за пределы бинарного восприятия мира, приходи поговорим.

ЗЫ самое интересное на вопрос верхней или нижней ответить - нет:) Что нет? Нет верхней ли нет нижней. Толку от такого ответа.
 

tf

крылья рулят
Автор оригинала: Апокалипсис
ну а как ещё ты себе представляешь? в кука чтоли хранить всё? о_О
млин, в одном магазине забил всю карзину в сессии
до сих пор думаю......
стоит оно того, или не стоит
 

dimagolov

Новичок
Автор оригинала: tf
млин, в одном магазине забил всю карзину в сессии
до сих пор думаю......
стоит оно того, или не стоит
а там какая нагрузка на сервер? загляни в папку где апач хранит сессии и по объему файлов там а так же частоте изменения переменных в сессии оцени объем операций ЗАПИСИ на диск который получается из-за этого, сравни с общей производительностью дисковой подсистемы ну и так далее.
 

HraKK

Мудак
Команда форума
а я все равно думаю это не тот вопрос. Оптимизировать заранее - вредно.
 

dimagolov

Новичок
Автор оригинала: HraKK
Оптимизировать заранее - вредно.
это как? не думать про то как написанное начнет работать когда появятся посетители (а не только разработчики с парой тестеров) и поднимут нагрузку и при этом бутылочные горлышки о которых не думали (типа нафиг оптимизировать заранее) сделают проект неработоспособным и уже после этого расшивать узкие места? Неправильное использование сессий или кривая структура таблиц могут полностью сделают проект неработоспособным под нагрузкой, а вот исправление таких боков может потребовать значительной переработки кода...
 

HraKK

Мудак
Команда форума
Это не то узкое место, о котором надо задумываться.

значительной переработки кода...
А это зависит от того какой код вы пишите. Хороший код должен быть гибким.
 

dimagolov

Новичок
Автор оригинала: HraKK
Это не то узкое место, о котором надо задумываться.
то или не то можно посмотреть в конкретном проекте по объему одновременно живущих сессий. У меня к примеру размер файла сессии с глобальными путями проекта + детали по текущему юзеру занимают около 2Кб. Сессия живет минут 30 по умолчанию апача. Пусть имеем 100 одновременных юзеров (даже с учетом малоактивных). Это около 200Кб сессий как минимум. Пусть юзер посылает запросы раз в 30 секунд - вполне достаточно чтобы посмотреть обновленные данные и пойти дальше. выходит по запросу в секунду, что при столь мелкой сессии действительно не критично (хотя с другой стороны винт нужен не только апачу, еще базе, а запись в куку будет грузить винт сиками). С другой стороны если раздуть сессию до нескольких десятков килобайт и по нескольку раз за запрос менять в ней переменные, то может уже быть существенно.
А это зависит от того какой код вы пишите. Хороший код должен быть гибким.
ну добавление/удвление столбцов в БД приводит к изменению всех инсертов в измененную таблицу, а вот меняние глобальных переменных (причем таких суперглобальных какими есть переменные сессии) неминуемо приведет к переделке всего проекта, как ты его не строй.
 

tf

крылья рулят
млин, в одном магазине забил всю карзину в сессии
до сих пор думаю......
стоит оно того, или не стоит
мя...
опечатался
в куки загнал все
стоит вопрос о безопасности и валидности данных, но я доверяю только id товаров
... в голову проблемы данных идут только при взломе самой системы юзера...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху