2015-05-09 6 views
5

Ich versuche, den Memcache von App Engine mit unseren unter Compute Engine laufenden Servern zu testen. Zur Zeit haben wir nur ein paar VM-Instanzen, die Memcache laufen, wo wir nennen:Verwenden von Memcache innerhalb der Google Compute Engine mit PHP

$memcache->addServer('memcache', 11211); 

jeden Server zu verweisen. Wenn Sie sich den Beispielcode von Google ansehen, wird nicht erwähnt, welchen Server wir aufrufen sollten. Ich habe versucht, den folgenden Code aus ihrem Dokument zu testen, aber es ist fehlerhaft beim Erstellen des Objekts. Ich verstehe, dass ich möglicherweise eine Klasse einschließen muss, aber es hat nichts in dem Dokument erwähnt, oder welcher Server anzurufen. Kann jemand helfen?

<?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"; 
+4

App Engine und Computer Engine sind verschiedene Produkte und teilen nicht die gleichen Memcache-Server. –

+0

@BradWickwire würden Sie uns wissen lassen, wenn Sie eine Lösung für Ihr Problem finden? –

Antwort

7

Die Google App Engine bietet einen gehosteten Memcache-Dienst, die Google Compute Engine jedoch nicht.

In App Engine wird die Verbindung zum Server automatisch für die App hergestellt, die in App Engine ausgeführt wird. Dies bedeutet, dass Sie in der App keinen Host/Port angeben müssen. Wenn Sie jedoch Memcache verwenden möchten, müssen Sie Ihren eigenen memcached-Server entweder auf derselben oder einer anderen VM wie Ihre Anwendung ausführen und seinen Host/Port in Ihrem PHP-Client angeben.

PHP bietet zwei Klassen memcached verbinden:

die jeweils ein Methoden-Server spezifizieren liefert (n) zu verbinden, beispielsweise

aber es ist immer noch an Sie, diesen Memcached-Server laufen zu lassen.

Verwandte Themen