Перейти к содержимому


Фото

Кеширование контента сайта


  • Чтобы отвечать, сперва войдите на форум
21 ответов в теме

#1 phukortsin

phukortsin
  • Пользователь
  • 469 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 25.08.2018 - 16:50

Создан функционал кеширования.

Кэшируется в файлах основное содержание страниц (то, что в index.tpl обозначено как {content}).
Применение этого функционала существенно ускоряет ответ сервера. В частности, на стандартном шаблоне  на страницах отдельных товаров делает 9 SQL-запросов вместо штатных 25.

Динамически формируемые  блоки (информер корзины, последние просмотренные товары), показываются корректно. Кроме того, корректно кешируются и показываются страницы с разными выборами валют. Корректно работает также функционал написания  отзывов.

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

Не кешируются вызовы методом POST, чтобы обеспечить, в частности, корректную работу посетителя с отзывами.
Не кешируются вызовы страниц админки.
Не кешируются ajax-запросы.

Кешируется контент страниц:
1. Списки товаров категории и бренда (результаты поиска не  кешируются),
2. Карточка товара,
3. Статические,
4. Блог.
Конечно, список можно изменять на свой вкус.

Время действия кеша настраивается на каждую группу страниц отдельно. По прошествии указанного времени при вызове страницы кеш создается заново.

Создавалось для версии 2.3.8.
Скорее всего, годится и для других версий 2.x
 

Заинтересованным просьба писать в личку.



#2 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 25.08.2018 - 17:01

может так случится что в списке товаров цены могут отличатся от цен на странице товара, или от цен в выгрузке yandex.xml?


Изменено: DaVinci, 25.08.2018 - 17:02


#3 phukortsin

phukortsin
  • Пользователь
  • 469 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 25.08.2018 - 17:26

yandex.xml - не кешируется, там цены напрямую из базы.

 

Расхождение цен в списке товаров и  на странице товара возможно.

Способы борьбы:

1. очишать кеш после больших изменений (все содержимое отдельной папки).

2. устанавливать время действия кеша не слишком большим, например, 1-2 часа, тогда разница, если возникнет, будет сравнительно малозаметна.

 

На странице корзины (или в блоке информера корзины) все цены будут актуальны (из базы).


Изменено: phukortsin, 25.08.2018 - 17:29


#4 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 25.08.2018 - 18:17

yandex.xml - не кешируется, там цены напрямую из базы.

 

Расхождение цен в списке товаров и  на странице товара возможно.

Способы борьбы:

1. очишать кеш после больших изменений (все содержимое отдельной папки).

2. устанавливать время действия кеша не слишком большим, например, 1-2 часа, тогда разница, если возникнет, будет сравнительно малозаметна.

 

На странице корзины (или в блоке информера корзины) все цены будут актуальны (из базы).

 

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

 

как обьяснить яндексу что у меня вот как то так работает кеш что везде разные цены если вдруг я работаю с маркетом? да и самому посетителю будет не понятно почему в списке  одна цена, в картонке другая, а в корзине вообще 3-я


Изменено: DaVinci, 25.08.2018 - 18:23


#5 phukortsin

phukortsin
  • Пользователь
  • 469 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 25.08.2018 - 20:15

Кнопку поставить совсем легко...

 

Реально, если админ затеял масштабную смену цен, то можно кеширование на этот момент отключить, а в конце очистить старый кеш.

Если обновление автоматом, то вообще не проблема,  автоматом можно вначале кеш отключить, затем почистить.

 

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

 

В  обычных традиционных магазинах с приличным ассортиментом нередко  в торговых залах можно видеть - объявления типа "Цены могут отличаться... Уточняте на кассе или у консультантов..." Это обычная практика - чтобы в торговом зале поменять много-много табличек с ценами, требуется время и не всегда успевают. А цены прыгают - магазины часто делают скидки на группы товаров - и иногда кратковременные - 1-2 дня.  Думаю, что Яндекс все это хорошо знает и в объяснениях не нуждается...



#6 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 25.08.2018 - 22:08

Возникает ощущение что вы вовсе не знаете что выгрузкой может пользоваться не только маркет но и другие сервисы в плоть до того что запрашивают цены каждые 5 минут а яндекс не пропускает магазины с неактуальными ценами. Ситуация про торговый зал занятная но я не видел ни одного интернет магазина в котором стоит цена с припиской - в корзине цена может быть другой)))))

Просто нонсенс доработка...

#7 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 25.08.2018 - 22:17

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

Изменено: DaVinci, 25.08.2018 - 22:17


#8 shooroop

shooroop
  • Фрилансер
  • 732 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 26.08.2018 - 08:03

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

 

Надо отталкиваться от нужд магазина понятное дело что одному магазину эта доработка подойдет на 100% другому нет. Все индивидуально.

 

Так же как и с ценами в демо есть старая цена и основная а в других есть закупочная. оптовая. и еще другие вариации цен.



#9 phukortsin

phukortsin
  • Пользователь
  • 469 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 26.08.2018 - 09:35

Возникает ощущение что вы вовсе не знаете что выгрузкой может пользоваться не только маркет но и другие сервисы в плоть до того что запрашивают цены каждые 5 минут а яндекс не пропускает магазины с неактуальными ценами. Ситуация про торговый зал занятная но я не видел ни одного интернет магазина в котором стоит цена с припиской - в корзине цена может быть другой)))))

Просто нонсенс доработка...

 

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

 

Что касается Яндекса, я много раз слышал, что на переиндексирование сайта после изменений часто уходит месяц-полтора. И в такой ситуации Ваши претензии совсем несерьезны. Ведь если работает сайт без кеширования с полностью актуальной информацией, и  в какой-то момент  владелец резко поменял цены, то старые неверные цены будут несколько недель висеть на Яндексе.

 

А если с Вашего сайта некие сервисы берут данные каждые 5 минут, то достаточно поставить время кеша такого же порядка 5-10 минут, и все будет в норме.

 

Не очень понял, чем Вы недовольны, все Ваши замечания решаются дисциплиной работы админа и настойкой параметров кеширования...

 

...для всего этого давно придумали события и зависимости. Но для того ... необходимо немного больше заморочиться ...

 

Не планировалось, что разработка подойдет идеально под все случаи и понравится всем поголовно .

 

Делалось сравнительно несложно под стиль Simpla.

 

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

 

А кому надо, пусть заморачивается...



#10 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 26.08.2018 - 13:05

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

Что касается Яндекса, я много раз слышал, что на переиндексирование сайта после изменений часто уходит месяц-полтора. И в такой ситуации Ваши претензии совсем несерьезны. Ведь если работает сайт без кеширования с полностью актуальной информацией, и в какой-то момент владелец резко поменял цены, то старые неверные цены будут несколько недель висеть на Яндексе.

А если с Вашего сайта некие сервисы берут данные каждые 5 минут, то достаточно поставить время кеша такого же порядка 5-10 минут, и все будет в норме.

Не очень понял, чем Вы недовольны, все Ваши замечания решаются дисциплиной работы админа и настойкой параметров кеширования...


Не планировалось, что разработка подойдет идеально под все случаи и понравится всем поголовно .

Делалось сравнительно несложно под стиль Simpla.

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

А кому надо, пусть заморачивается...


Очевидно ваша работа решает определённые задачи. Но расхожесть цен это проблема, думаю вы и сами это понимаете.

#11 phukortsin

phukortsin
  • Пользователь
  • 469 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 26.08.2018 - 14:06

Очевидно ваша работа решает определённые задачи. Но расхожесть цен это проблема, думаю вы и сами это понимаете.

 

Конечно, это может стать проблемой.

Как решить ее, я уже сказал. Повтрю: дисциплина работы админа и адекватная настройка параметров кеширования легко решают указанную проблему. Точнее, расхожесть цен при этом просто не возникает...



#12 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 26.08.2018 - 14:20

Конечно, это может стать проблемой.

Как решить ее, я уже сказал. Повтрю: дисциплина работы админа и адекватная настройка параметров кеширования легко решают указанную проблему. Точнее, расхожесть цен при этом просто не возникает...

 

 

ваша работа приватная или все же можно оценить реализацию?



#13 phukortsin

phukortsin
  • Пользователь
  • 469 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 26.08.2018 - 17:47

Могу предложить демо, хотя не очень представляю, что там можно увидеть:

 

Демо http://contentcaching.byethost8.com/

Админка admin/admin



#14 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 26.08.2018 - 22:12

Могу предложить демо, хотя не очень представляю, что там можно увидеть:

Демо http://contentcaching.byethost8.com/
Админка admin/admin


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

#15 phukortsin

phukortsin
  • Пользователь
  • 469 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 27.08.2018 - 09:14

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

 

Не угадали. Мешает всего лишь примитивное желание зарабатывать на этом...



#16 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2018 - 10:11

Не угадали. Мешает всего лишь примитивное желание зарабатывать на этом...

Это очень хорошее, правильное желание!

Но почему ваше желание становится предметом общего обсуждения? Для этого есть соответствующий раздел данного форума.

Модераторам стоит на это обратить внимание.

Изменено: DaVinci, 27.08.2018 - 10:12


#17 phukortsin

phukortsin
  • Пользователь
  • 469 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 27.08.2018 - 10:18

Но почему ваше желание становится предметом общего обсуждения?

Вопрос некорректный. Обсуждаете его пока только Вы в единственном числе...

#18 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2018 - 10:21

Вопрос некорректный. Обсуждаете его пока только Вы в единственном числе...


Платные доработки размещаются в соответствующем разделе.

#19 pudohom

pudohom
  • Пользователь
  • 65 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Пермь

Опубликовано 27.08.2018 - 10:33

Платные доработки размещаются в соответствующем разделе.

Для этого требуются определенные права, а администрация сайта очень своеобразно выдает эти права.



#20 DaVinci

DaVinci
  • Фрилансер
  • 1 137 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2018 - 10:48


Для этого требуются определенные права, а администрация сайта очень своеобразно выдает эти права.


Если администрация форума запрещает вам публиковать свои работы в платной ветке значит на то есть повод. Опубликуйте на своём сайте где вы сами решаете что и как вам делать.

Изменено: DaVinci, 27.08.2018 - 10:49





0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых