ich die multi_get
Funktionalität von Memcached-Client in PHP zu testen, ich versuche, und ich weiß, dassMemcache :: get arbeitet nicht mit Anordnung von Tasten
array Memcache::get (array $keys [, array &$flags ])
zur Verfügung steht.
00000001 <?php
00000002 function rand01()
00000003 { // auxiliary function
00000004 // returns random number with flat distribution from 0 to 1
00000005 return (float)rand()/(float)getrandmax();
00000006 }
00000007 ini_set('display_errors', 1);
00000008 $mc=new Memcached();
00000009 $mc->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT);
00000010 $mc->setOption(Memcached::OPT_REMOVE_FAILED_SERVERS,true);
00000011 echo "return value of addServer<br>";
00000012 var_dump($mc->addServer("mc1",11211));
00000013 var_dump($mc->addServer("mc2",11211));
00000014 var_dump($mc->addServer("mc3",11211));
00000015 echo "<br>";
00000016 $mc->set('00010111222',"testval");
00000017 $mc->set('00010333444',"testval");
00000018 echo "<br>";
00000019 var_dump($mc->get(array('00010111222', '00010333444')));
00000020 var_dump($mc->getResultCode());
00000023 ?>
Aber es gibt mir die folgende Ausgabe:
return value of addServer
bool(true) bool(true) bool(true)
Warning: Memcached::get() expects parameter 1 to be string, array given in /var/www/html/memcache.php on line 19
NULL int(0)
Was bedeutet, dass die Server erfolgreich hinzugefügt werden, aber get()
in Zeile 19 gibt eine Warnung für den Parameter ein Array und das zurückgegebene Objekt ist NULL . Der Rückkehrcode ist 0, was bedeutet, dass die Abfrage erfolgreich war, und Schlüssel sind in memcached vorhanden, da ich sie in Zeile 16 und 17 setze. Gibt es etwas, was ich falsch mache oder ist das ein Fehler in PHP :: Memcache?
Als ein Benutzer mit mehr als 1000 Ruf, würde ich mindestens erwarten, dass Sie den Code in Zeile 39, auf dem es Fehler angezeigt würde. Aber aus Respekt werde ich nicht ablehnen. Wenn Sie jedoch meinen, Zeile 39 ist eigentlich "00000019" würde ich vorschlagen, dass Sie sich an die Fehlermeldung halten. – Xorifelse
Ah ja, die Zeilennummern sind durcheinander. Es ist eigentlich Linie 19. – Wajahat