Проверьте, существует ли ключ в кластере memcache с использованием PHP - PullRequest
0 голосов
/ 30 ноября 2010

Я отлаживаю слой кэширования приложения PHP. Он использует кластер серверов Memcache для кэширования значений. Я хочу убедиться, что конкретный объект очищен правильно.

Моя идея заключалась в том, чтобы подключиться к нужному серверу memcache через telnet и вручную проверить, существует ли ключ. Я знаю ключ, который передается Memcache::set, но не знаю, к какому серверу подключаться. Как узнать, на каком сервере memcache хранятся данные?

Ответы [ 3 ]

0 голосов
/ 30 ноября 2010

Я только что сослался на документы. Клиенты Memcached хэшируют ключ, чтобы определить, какой сервер запрашивать. Так что, я думаю, Memcached - это осколок. Вам, вероятно, придется взглянуть на исходный код клиента (или, возможно, на документы), чтобы увидеть, как выполняется хеширование -> сервер. В противном случае вы можете просто использовать клиент из командной строки для запроса значения.

0 голосов
/ 30 ноября 2010

Для дальнейшего использования: я написал небольшой скрипт на python, который проверяет список серверов memcache для данного ключа https://gist.github.com/721965

0 голосов
/ 30 ноября 2010

Если это кластер, то он синхронизирует данные во всех случаях или имеет одно централизованное хранилище данных (внутренняя реализация - не важно для вас). Вы получите данные во всех случаях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...