2015-05-09 16 views
5

Próbuję przetestować Memcache App Engine za pomocą naszych serwerów działających w ramach Compute Engine. Obecnie mamy kilka instancji maszyny wirtualnej, które uruchamiają Memcache, gdzie nazywamy:Używanie memcache w Google Compute Engine z PHP

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

w celu odniesienia do każdego serwera. Patrząc na przykładowy kod Google, nie wspomina nic o tym, do którego serwera powinniśmy zadzwonić. Próbowałem przetestować poniższy kod z ich dokumentu, ale wystąpił błąd podczas tworzenia obiektu. Rozumiem, że być może będę musiał dołączyć do klasy, ale nie wspomniałem o niczym w dokumencie ani o tym, do którego serwera zadzwonić. Czy ktoś może pomóc?

<?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 i silnik komputera to różne produkty i nie udostępniają tych samych serwerów memcache. –

+0

@BradWickwire, czy dasz nam znać, jeśli znajdziesz rozwiązanie swojego problemu? –

Odpowiedz

7

Google App Engine udostępnia hostowaną usługę Memcache, a Google Compute Engine tego nie robi.

W App Engine połączenie z serwerem jest nawiązywane automatycznie dla aplikacji działającej w App Engine, co oznacza, że ​​nie musisz określać hosta/portu w aplikacji.

W Compute Engine, jeśli chcesz używać memcache, będziesz musiał uruchomić swój własny serwer memcached, w tej samej lub innej maszynie wirtualnej co twoja aplikacja, i określić jego host/port w twoim kliencie PHP.

PHP udostępnia dwie klasy, aby połączyć się memcached:

Każdy dostarcza sposób określić serwer (y) się połączyć, np

ale to wciąż do ciebie, aby uruchomić te Memcached serwerów.

Powiązane problemy