Этот плагин не тестировался с последними 3 основными выпусками WordPress. Скорее всего, он уже не поддерживается и может быть несовместим с текущими версиями WordPress.

Memcached Object Cache

Описание

Memcached Object Cache обеспечивает постоянный бэкэнд для кэша объектов WordPress. Требуется сервер memcached и расширение PECL memcache.

Установка

  1. Установите memcached хотя бы на одном сервере. Обратите внимание на информацию о подключении. По умолчанию используется 127.0.0.1:11211.

  2. Установите расширение PECL memcache.

  3. Скопируйте файл object-cache.php в wp-content

  4. Добавьте константу WP_CACHE_KEY_SALT в файл wp-config.php:

    php
    define( 'WP_CACHE_KEY_SALT', '...длинная случайная строка...' );

Это позволяет предотвратить загрязнение кэша, когда несколько установок WordPress используют один и тот же сервер Memcached. Значение должно быть уникальным для каждой установки WordPress.

Часто задаваемые вопросы

Как вручную указать сервер(ы) memcached?

Добавьте в файл wp-config.php выше что-то похожее на следующее /* Это все, хватит редактировать! Счастливого блоггинга. */:

$memcached_servers = array(
    'default' => array(
        '10.10.10.20:11211',
        '10.10.10.30:11211'
    )
);

Ключами массива верхнего уровня являются группы кэша, где ‘default’ соответствует любой группе кэша, которая не определена явно. Это позволяет указывать серверы memcached, которые работают только с определенными группами кэша. Наиболее часто используется только указание ‘default’.

Возможные группы кэша:

{$taxonomy}_relationships
{$meta_type}_meta
{$taxonomy}_relationships
blog-details
blog-id-cache
blog-lookup
bookmark
calendar
category
comment
counts
general
global-posts
options
plugins
post_ancestors
post_meta
posts
rss
site-lookup
site-options
site-transient
terms
themes
timeinfo
transient
user_meta
useremail
userlogins
usermeta
users
userslugs
widget

Отзывы

21.10.2023
Install is not like other plugins — and in fact if you do upload it to plugins and then activate it, it’ll bring your site down in many cases. You can upload it (but don’t activate!) and then use the server side to move the plugin file manually into wp-content (and then delete the uploaded plugin folder and readme.txt). But that’s not enough to make the whole thing work! You also need memcached running on your server and properly configured, and the pecl memcache extension compiled on the server side in your php configuration, too. Make sure to use a unique salt as well. Once it’s all there, the speed improvement is significant! Happy to try and help those that respond to this thread if you need — or at least try to get you pointed in the right direction. Thanks for the plugin, devs! Appreciate as you update and keep current as well!
08.07.2023
@terrykernan I moved like you said but then i get ciritcal error and can enter the Admin section of wordpress, when i remove it from WP-Content everything works again. I installed the plugin only because i have Redis on my host
17.05.2023 1 ответ
Tip for others here, if you are getting this error: «Cannot redeclare wp_cache_add» It probably means you have the object-cache.php file in the wrong directory, it should not be in the plugins/memcached/ folder, it should be moved to the wp-content folder!
05.04.2023 1 ответ
Fatal error: Cannot redeclare wp_cache_add() (previously declared in /htdocs/wp-includes/cache.php:41) in /htdocs/wp-content/plugins/memcached/object-cache.php on line 19
16.02.2023
It works well even with WPRocket Cache plugin. If you get fatal errors don’t forget to install PECL memcache module to PHP.
Посмотреть все 30 отзывов

Участники и разработчики

«Memcached Object Cache» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«Memcached Object Cache» переведён на 5 языков. Благодарим переводчиков за их работу.

Перевести «Memcached Object Cache» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

4.0.0

  • Добавить вытесняющий фильтр pre_wp_cache_get
  • Add flush_number replication to prevent accidental flush due to flush_number eviction, server rotation, etc.

3.2.2

  • Убрать фильтр и основывать снятие ключей на наличии key_salt.

3.2.1

  • Исправлена ошибка, из-за которой записи slow-ops имели одну и ту же клавишу, поэтому переключение не работало

3.2.0

  • Улучшена функция stats(). Теперь показывает групповые/индивидуальные вызовы кэша с указанием размера полезной нагрузки и таймингов.
  • Теперь требуется PHP 5.6.20
  • Fix get_multi to show per group calls
  • Добавлен фильтр (memcached_strip_keys) для обхода снятия ключей с memcached
  • Специальная группа для медленных операций ( > 5 мс) с обратной трассировкой

3.1.0

  • Add wp_cache_get_multi
  • Add support for the $found parameter
  • Set a variable for $max_expiration to 30 days
  • Изменения стиля кода
  • Различная окраска для неизвестной группы статистики
  • Сохранение хоста/порта при отказе (failure_callback)
  • Подсчет статистики по умолчанию

3.0.2

  • Улучшенный вывод HTML

3.0.1

  • Исправлена ошибка генерации ключа в функции switch_to_blog()

3.0.0

  • Очистка кэша сайта путем ротации ключей
  • Очистка глобального кэша при очистке основного сайта

2.0.6

  • Очистка локального кэша с помощью функции wp_cache_flush().

2.0.5

  • Исправление отсутствующего глобала (переменной) в switch_to_blog

2.0.4

  • Удаление устаревшего конструктора

2.0.3

  • Поддержка сокетов unix

2.0.2

  • Разрыв ссылок путем клонирования объектов
  • Поддерживать локальный кэш в синхронизации с memcached при использовании incr и decr
  • Обработка ограниченных сред, в которых функция is_multisite() не определена
  • Исправлена установка и получение 0
  • Теперь требуется PHP 5.2.4
  • Для гарантии уникальности ключей используйте константу WP_CACHE_KEY_SALT, если она доступна