• Resolved bzik

    (@bzik)


    Плагин замечательный и удобный в настройке, но почему-то совсем не использует кеширование WP_Object_Cache. Не обязательно каждый раз проводить сложные манипуляции с текстом записи, можно просто повесить хук на обновление записи и перегенерировать кеш для этой конкретной записи. Это значительно сократит время загрузки фида и уменьшит нагрузку на сервер.

    Я могу сам добавить всё это, но изменения потеряются при следующем обновлении плагина. Прошу автора, по возможности, внедрить кеширование.

Viewing 7 replies - 16 through 22 (of 22 total)
  • А, ну конечно, если большое количество записей и вы в ленту yandex:related добавляете, это будет супертормоз. Я на своём количестве записей даже не рискую. Это же по времени – как генерация страницы на каждую похожую запись. Интересно, что у вас в итоге выйдет, ждём.

    Thread Starter bzik

    (@bzik)

    Вот: https://gist.github.com/anonymous/7808348f7637e735ce4d3df489c9c681
    С SVN не привык работать, если есть GIT-репо, могу реквест кинуть.
    См. функции get_related_content_for_yandex_turbo и get_post_content_for_yandex_turbo. И для обновления update_post_meta_for_yandex_turbo.
    Итого сейчас без учёта страничного кеша фид из 30 записей и 5 related в каждом отдаётся за 6 секунд. Было 60 секунд.

    Plugin Author Flector

    (@flector)

    не, с кодом точно не все в порядке.
    хотя бы из-за куска:

    
    function update_post_meta_for_yandex_turbo($post_id) {   
    	get_related_content_for_yandex_turbo($post_id, true);
    }
    add_filter('publish_post', 'update_post_meta_for_yandex_turbo');
    add_filter('edit_post', 'update_post_meta_for_yandex_turbo');
    
    //получаем контент для записи end
    
    header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
    echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
    do_action( 'rss_tag_pre', 'rss2' );
    

    такой код не может работать.

    кстати, я так и не понял – а не проще ли было использовать транзитный кэш?

    Thread Starter bzik

    (@bzik)

    А что не так с этим куском, уточните пожалуйста? Поправлю.

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

    Plugin Author Flector

    (@flector)

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

    proguid

    (@procarmanuals)

    Спасибо за код.
    Действительно все куда быстрее стало работать.

    Plugin Author Flector

    (@flector)

    кэширование добавлено в 1.12

Viewing 7 replies - 16 through 22 (of 22 total)
  • The topic ‘Добавить кеширование’ is closed to new replies.