Почему Memcached Object Cache не работает в плагине W3TC для Wordpress через CLI? - PullRequest
0 голосов
/ 15 мая 2019

Я использую плагин W3 Total Cache в Wordpress и настроил Object-Cache для использования Memcached.

Я создал тестовый файл, который должен хранить результат сложной операции через wp_cache_set () и буду использовать егов будущем вызов скрипта через wp_cache_get () для экономии времени выполнения.Все работает нормально, когда я вызываю скрипт через браузер при первом вызове, который он генерирует, а затем загружает из кэша (я знаю это, потому что я добавил поле cache_status в свой вывод json и, конечно, я вижу, что первый вызов намного медленнее).

Проблема в том, что когда я вызываю файл через CLI, состояние кэша остается ложным во всех будущих вызовах, что означает, что wp_cache_get () не может найти ключ на сервере memcached.

Iуже проверил, что модуль Memcached включен в CLI php.ini и может использоваться в скриптах php.

Я думаю, что W3TC может добавить некоторый префикс к моему ключу memcached, который основан на среде (возможно, имя хоста иличто-то), что, конечно, отличается в климатической среде.Но я не нашел никакой документации об этом и понятия не имею, как отлаживать.Я обнаружил, что ключ элемента содержит, например, некоторые переменные, такие как host, blog_id и module, но я не уверен, где они определены: https://github.com/crowdfavorite-mirrors/wp-w3-total-cache/blob/master/Cache_Base.php#L190

Установка WP_CACHE_KEY_SALT также не имела никакого эффекта.

Есть ли у кого-нибудь опыт с такой проблемой?

...