Я пытаюсь проверить использование Memcache App Engine с нашими серверами под управлением Compute Engine. В настоящее время у нас есть только несколько экземпляров VM, которые запускают Memcache, где мы вызываем:
$memcache->addServer('memcache', 11211);
для ссылки на каждый сервер. Рассматривая пример кода Google, он ничего не говорит о том, какой сервер мы должны назвать. Я попытался проверить приведенный ниже код из своего документа, но это ошибки при создании объекта. Я понимаю, что мне, возможно, придется включить класс, но он ничего не упоминал в документе или на каком сервере звонить. Может ли кто-нибудь помочь?
<?php header('Content-Type: text/plain'); echo "Setting Value\n"; $memcache = new Memcached; echo "Get who value<br>"; $who = $memcache->get('who'); echo 'Previously incremented by ' . $who . "\n"; $memcache->set('who', 'PHP'); $count = $memcache->increment('count', 1, 0); echo 'Count incremented by PHP = ' . $count . "\n";
Google App Engine предоставляет размещенную службу Memcache, а Google Compute Engine – нет.
В App Engine подключение к серверу выполняется автоматически для приложения, работающего в App Engine, что означает, что вам не нужно указывать хост / порт в приложении.
Однако в Compute Engine, если вы хотите использовать memcache, вам нужно будет запустить собственный сервер memcached , как в той же, так и в другой виртуальной машине в качестве приложения, и указать свой хост / порт в вашем PHP-клиенте.
PHP предоставляет два класса для подключения к memcached:
Каждый из них предоставляет метод указания серверов (ов) для подключения к, например,
Memcache::addServer
Memcached::addServer
но вам все равно, чтобы запустить эти серверы memcached.