rostislav 05 июня 2015 0 5
Доброго времени суток, подскажите в какую сторону копать и нужно ли вообще это делать. Есть сайт, чисто информационный, на самих статьях есть 4 вызова getresources. Это популярные статьи, последние, статьи определенного раздела и еще рандомные статьи с разедла. Эти вызовы в сайдбаре и в конце статьи. Они понятно, что все не кешируемые. Так вот вопрос, не будет 4 вызова сильно нагружать сайт, особенно если будет большой трафик, возможно есть какие-то более быстрые решения.
5 комментариев
Fi1osof1
Fi1osof 08 июня 2015г в 17:07 #
Они понятно, что все не кешируемые.
А вот это не понятно. А зачем их делать не кешируемыми? С рандомными еще понятно, но остальные-то выборки почему не кешируемые? В чем профит?
r
rostislav 13 июня 2015г в 18:23 #
А вот это не понятно. А зачем их делать не кешируемыми? С рандомными еще понятно, но остальные-то выборки почему не кешируемые? В чем профит?
Дело в том, что популярные статьи и последние — так же обновляются, например добавилась статья в раздел — и нужно, что бы она сразу появлялась в последних, а популярные также могут меняться, в зависимости количества просмотров статей. Я почему-то думал, что если кешировать вызовы — то они не будут обновляться, а только после очистки кеша. Я потому и спрашиваю, что может какие-то решения еще предложите.
Fi1osof1
Fi1osof 14 июня 2015г в 21:18 #
например добавилась статья в раздел — и нужно, что бы она сразу появлялась в последних,
Это и будет сразу обновляться после добавления (создания) новости.
а популярные также могут меняться, в зависимости количества просмотров статей.
С этими да, надо делать некешируемыми, так как при обновлении кол-ва просмотров как правило кеш не сбрасывается. Это при создании документов кеш сбрасывается (и то не весь, но достаточно, чтобы кешируемые вызовы сбросились).

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

А вообще оптимизируйте свои SQL-запросы, чтобы даже не из кеша все быстро отрабатывалось.
r
rostislav 14 июня 2015г в 21:19 #
спасибо — это то, что нужно было
Fi1osof1
Fi1osof 14 июня 2015г в 21:22 #
Пожалуйста.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.