Wie verwenden Sie memcache mit PHP
Frage
ich endlich memcache läuft auf meinem Heim-PC, so kann ich damit endlich zu entwickeln beginnen!
Ich bin nicht auf einen guten Start, obwohl ich auf
, um den Code zu verwenden, versuchenphp.net @ memcache-Set Ich bin nicht in der Lage entweder Beispiel-Code zu arbeiten, dass sie Post
Ich habe versucht, dies:
<?php
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);
echo memcache_get($memcache_obj, 'var_key');
?>
Und dann
<?php
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);
echo $memcache_obj->get('var_key');
?>
Und bekam diese Fehler aus dem Code oben;
Warning: Memcache::connect() [memcache.connect]: Can't connect to memcache_host:11211, A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (10060) in C:\webserver\htdocs\test\memcache\index.php on line 36
Warning: Memcache::set() [memcache.set]: Failed to extract 'connection' variable from object in C:\webserver\htdocs\test\memcache\index.php on line 42
Warning: Memcache::get() [memcache.get]: Failed to extract 'connection' variable from object in C:\webserver\htdocs\test\memcache\index.php on line 44
ich diesen Code dann im Netz gefunden irgendwo und es funktioniert
<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
// add cache
$memcache->set('key', $tmp_object, false, 30) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 30 seconds)<br/>\n";
// get cache
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";
var_dump($get_result);
?>
Wie kann ich die Beispiele von PHP.net bekommen obwohl zu arbeiten?
Auch würde ich gerne jeder emample Code sehen memcache die Sie teilen möchten würde es begrüßen, da ich wirklich einige Arbeitsbeispiele
Lösung
Sie erkennen, dass Sie mit Ihrem Hostnamen und / oder localhost ersetzen „memcache_host“ müssen? Oder bin ich dabei den Punkt komplett? Versuchen Sie auch, telnet localhost 11211
und dann telnet your-memcache-host-name 11211
und sehen Sie, wenn Sie das gleiche Ergebnis (sollten).
Andere Tipps
Wenn Sie Memcached mit PHP für eine Datenbank-Abfrage verwenden möchten, hier ist ein Beispiel dafür, was ich verwendet:
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
$qry = QUERY;
$C = connection to ur database;
findValue($qry, $c);
function findValue($qry,$c)
{
$id = md5($qry);
if ($gotten = $memcache->get($id)) {
echo $id." retrieved from memcached </br> ";
return $gotten;
} else {
### Daemon running but it was NOT cached
echo " from database (was NOT cached)";
# Never mind - fetch it and store for next time!
$gotten = dbfetch($qry,$c);
$memcache->set($id,$gotten);
return $gotten;
}
}
Ich bin mit der Menarche mit PHP für meine Datenbank, indem Sie einige Sache wie diese getroffen reduzieren
$memcache = new Memcache;
//Ip address and and port number.
$memcache->connect('192.168.xxx.xxx', 'xxxx');
//Fetching data from memcache server
$arrobj = $memcache->get("arrobj");
if( false == is_array( $arrobj ) ) {
$arrobj = data retrieve from Database.
//Storing data in memcache server for 100 sec.
$memcache->set( "arrobj", $arrobj, MEMCACHE_COMPRESSED, 100 );
}
Sie können auch die Beispiele erhalten Sie unter http://php.net/manual/en /memcache.set.php !!