Назад | Перейти на главную страницу

Поддерживает ли клиент PHP memcached очистку кеша на основе префиксов?

Я ищу простой ответ на простой вопрос, который сложно найти.

Поддерживает ли memcache очистку подмножества ключей? Или вызов очистки всегда очищает весь кеш?

В частности, поддерживает ли это клиент PHP memcached («d» в конце)? (по сравнению с клиентом memcache PHP, которого нет) Требуется ли поддержка этого на сервере?

У нас есть мультитенантная служба, которая использует один сервер кэша памяти для всех клиентов. Для этого мы добавляем в ключи префикса уникального идентификатора клиента. Мы хотели бы иметь возможность очищать ключи для каждого клиента, но похоже, что очистка кэша памяти поддерживает только очистку всего кеша.

Чтобы формализовать это в ответ, memcached не предлагает такой функции, о которой я знаю, и вам придется сделать это самостоятельно. См. Образец из memcachedкод Google страница.

Кстати, Drupal, CMS на основе PHP, имеет memcached модуль, который позволяет выполнять очистку префиксов и кеша. Мы успешно использовали его для очистки кеша по префиксу в нашей настройке. Хотя я в последнее время не проверял код этого модуля, это будет стоит посмотреть (см. версию 7.x-1.0). И, возможно, вы найдете это memcached QA мой на Drupal SE: эффективное использование Memcache с Drupal 7 Multisite тоже полезно.