Поддержка Плагины WordPress Transients

  • Anonymous User 14379775

    (@anonymized-14379775)


    Когда правильно применять транзитное кеширование?
    Например запрос вывести 10 случайных записей — подходящая для этого задача или не стоит заморачиваться? Ведь вытащить кеш — тоже запрос в БД.
    И это наверно только актуально, если нет кеш. плагинов. Кешируете ли вы свои запросы к БД?

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Yui

    (@fierevere)

    永子

    Например запрос вывести 10 случайных записей — подходящая для этого задача

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

    https://yandex.ru/yandsearch?text=transients%20api
    смотрели? примеры, ну и самое главное http://codex.wordpress.org/Transients_API

    Ведь вытащить кеш — тоже запрос в БД.

    фишка транзиентов что оно может и не кешироваться в БД,
    если есть обьектный кеш (например memcached или redis) то оно кладется туда

    И это наверно только актуально, если нет кеш. плагинов

    каких именно? одно другому не только не мешает, но даже и помогает

    Кешируете ли вы свои запросы к БД?

    к БД не вижу смысла, в случае VPS/Dedic лучше положиться на штатный mysql query cache (MySQL)

    Модератор Yui

    (@fierevere)

    永子

    вот вам примерчик моего варианта

    $top_posts = get_transient( trans_evo_topposts );
            if (!$top_posts) { $top_posts = stats_get_csv( 'postviews', array( 'days' => 8, 'limit' => 50 ) );
                                       set_transient( trans_evo_topposts, $top_posts, 7200);
                                       /* attempt to cache a transient for 2 hours */
                                 }

    stats_get_csv — функция Jetpack, делает запрос по статистике на wordpress.com, занимает около 800 мс, понятное дело что статистика постоянно не изменяется и тратить 800 мс на это каждый раз нет смысла.

    Автор Anonymous User 14379775

    (@anonymized-14379775)

    спасибо за отклик;

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

    я и пытаюсь понять, где та грань, когда стОит применять, а где от этого пользы мало или нет

    смотрели? примеры, ну и самое главное

    по самому коду вопросов нет (пока)

    если есть обьектный кеш (например memcached или redis) то оно кладется туда

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

    к БД не вижу смысла, в случае VPS/Dedic лучше положиться на штатный mysql query cache (MySQL)

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

    Модератор Yui

    (@fierevere)

    永子

    я и пытаюсь понять, где та грань, когда стОит применять, а где от этого пользы мало или нет

    смотреть время выполнения, по-моему так все удаленные запросы должны кешироваться 99.9%
    Локальные выборки только в том случае если они будут часто использоваться и время выборки достаточно большое.

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

    обычные шаред хостинги тут проигрывают вдвойне.
    Во-первых там и на MySQL нагрузка высокая , и query cache гораздо менее эффективен
    Во-вторых шареды редко предлагают memcached, или другие средства для variable cache

    https://wordpress.org/plugins/simple-cache/
    вот интересный новый плагин, комбинирует кеширование страниц в статику и кеширование обьектов в memcached/redis
    Настройки для самых самых маленьких, т.е. вкл/выкл

    Кстати включение обьектного кеширования при отсутствии бэкенда у меня привело к белому экрану )

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

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

    Автор Anonymous User 14379775

    (@anonymized-14379775)

    смотреть время выполнения

    а чем сами смотрите, типа Query Monitor?

    по-моему так все удаленные запросы должны кешироваться 99.9%

    в этом случае выгода конечно более очевидная

    Во-вторых шареды редко предлагают memcached

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

    https://wordpress.org/plugins/simple-cache/
    вот интересный новый плагин, комбинирует кеширование страниц в статику и кеширование обьектов в memcached/redis

    видел на wptavern ссылку на него, описание конечно ни о чем, никаких техн. деталей, у меня вот cloudflare, там внимательно надо быть с кеш. плагинами

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «WordPress Transients» закрыта для новых ответов.