Сессии (куки) против кеша

12
L
На сайте с 10.02.2015
Offline
222
373

Как вы поступаете?

Запускается ли php вообще.

Можно тупо обрубить сессии и куки и всем неавторизированным отдавать одну инфу без старта php.

Но как отслеживать запросы в рамках сессии, просмотренные товары.

Ну вы наверно поняли.

Aisamiery
На сайте с 12.04.2015
Offline
293
#1

Да все это делается достаточно просто, вся персональная информация убирается в api к которому фронт обращается через ajax.

То есть отдаете контент, например через статичный кэш nginx не дергая php, он для всех по сути одинаковый, а потом отправляете со страницы нужные  вам ajax запросы на просмотренные товары, на получение корзины и прочих данных связанных с текущим пользователем.

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
Алеандр
На сайте с 08.12.2010
Offline
184
#2
Смешались в кучу люди, кони.. Какое отношение кэш имеет к сессии или куки? Это разные механизмы для разных задач. Хотите отдавать кэш - отдавайте. Нужно вести сессию пользователя - используйте куки. "Или" тут никак не подходит.
LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#3
Aisamiery #:

Да все это делается достаточно просто, вся персональная информация убирается в api к которому фронт обращается через ajax.

То есть отдаете контент, например через статичный кэш nginx не дергая php, он для всех по сути одинаковый, а потом отправляете со страницы нужные  вам ajax запросы на просмотренные товары, на получение корзины и прочих данных связанных с текущим пользователем.

Ну или кэшировать только тяжёлые области, а не всю HTML страницу. Учитывая, что вопрос скорее всего по самописной CMS

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
D
На сайте с 28.06.2008
Offline
1101
#4
Я кеширую все средствами Nginx для неавторизованных. Для авторизованных (у меня их немного) ставлю куку и для них кеш не работает.
Aisamiery
На сайте с 12.04.2015
Offline
293
#5
LEOnidUKG #:
Ну или кэшировать только тяжёлые области, а не всю HTML страницу. Учитывая, что вопрос скорее всего по самописной CMS

это сложно, это надо осваивать такие инструменты как varnish и подобные тулзы, задача то не стартовать php вообще, по этому проще nginx все наглухо закешировать, а персональное уже отдельно подтянуть

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#6
Aisamiery #:

это сложно, это надо осваивать такие инструменты как varnish и подобные тулзы, задача то не стартовать php вообще, по этому проще nginx все наглухо закешировать, а персональное уже отдельно подтянуть

Да ладно, главное если самописное всё, сразу писать оптимизированное под задачи. Может быть кэш вообще не понадобиться.

Но с ajax тоже вполне себе отличная идея. Для всяких корзин, рейтингов и т.д. 

L
На сайте с 10.02.2015
Offline
222
#7
Aisamiery #:

Да все это делается достаточно просто, вся персональная информация убирается в api к которому фронт обращается через ajax.

То есть отдаете контент, например через статичный кэш nginx не дергая php, он для всех по сути одинаковый, а потом отправляете со страницы нужные  вам ajax запросы на просмотренные товары, на получение корзины и прочих данных связанных с текущим пользователем.

А как отслеживать страницы, которые посещают роботы? (Ставлю эксперимент)

Удобно на переобход отправлять только страницы посещенные в диапазоне дат.

L
На сайте с 10.02.2015
Offline
222
#8
LEOnidUKG #:

Да ладно, главное если самописное всё, сразу писать оптимизированное под задачи. Может быть кэш вообще не понадобиться.

Но с ajax тоже вполне себе отличная идея. Для всяких корзин, рейтингов и т.д. 

Та ресурсов пока хватает.

Блоки контента кешируются.

Это на вырост.

Если вдруг с ПС попрет трафик.

Aisamiery
На сайте с 12.04.2015
Offline
293
#9
LEOnidUKG #:
Да ладно, главное если самописное всё, сразу писать оптимизированное под задачи. Может быть кэш вообще не понадобиться.

Оно то может и оптимизированное, но все равно построить какой нибудь каталог и фасетные индексы на странице это надо сходить в какую то БД как минимум, плюс весь обвес подтянуть, оно может и работать с виду быстро, допустим 200мс без кэша, но тут приходит 300RPS и сервак захлебывается, а nginx бы вытянул вообще в легкую и 300 и 3000. С кешом только одна большая проблема - это инвалидация.

LEOnidUKG #:
Но с ajax тоже вполне себе отличная идея. Для всяких корзин, рейтингов и т.д. 

Это тоже прошлый век так сказать =)) сейчас я уже делаю проекты api first и фронт это как правило какой нибудь nextjs или nuxtjs, тут вообще можно раскидать все на огромное количество сервисов и собрать это каким нибудь api gateway типа кракена, но у меня правда и проекты немного изменились =))) Но персонализацию давно уже выносят, я так еще делал на simplewine.ru в году так 2017-18, да и до этого делали, просто у меня до этого не было нагруженных проектов ))

KrakenD - Open source API Gateway
KrakenD - Open source API Gateway
  • www.krakend.io
"I'm excited to hear that KrakenD framework is being brought into the family of open source projects managed by the Linux Foundation. I believe this shows the global community the commitment KrakenD has to keeping their technology open source and free to use. With the adoption that already exists, and this new promise towards the future, I...
Aisamiery
На сайте с 12.04.2015
Offline
293
#10
livetv #:
А как отслеживать страницы, которые посещают роботы? (Ставлю эксперимент)

А как сейчас отслеживаете? Воспользуйтесь способом которым пользуются уже миллион лет, подгрузите пиксель в картинку чтоб на том конце был нужный вам скрипт

livetv #:
Если вдруг с ПС попрет трафик.

Что за проект? Ну какая категория проекта?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий