Я пытаюсь протестировать использование Memcache в App Engine на наших серверах, работающих под управлением Compute Engine. В настоящее время у нас есть пара виртуальных машин, которые запускают 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:
Каждый из них предоставляет метод для указания сервера (ов) для подключения, например,
но вы все равно должны запускать эти memcached серверы.
Других решений пока нет …