Solution for writing a function layer between pecl-memcache and PHP

Sascha Braun - CEO at Braun Networks sascha at braun-networks.com
Fri Jul 27 17:59:29 UTC 2007


Hi dear Sancar,

you seem really the best man in place as what I see in the mailing
list :)) Thats really lovely I would like to say.

Now lets come to the solution I need:

public function memcache($pointer, $data="", $compress="", $timeout="0")
// store or load data from the memcache
{
if (MEMCACHE_SUPPORT == 'true') {
$memcached_port = $_SESSION['memcache_port'];
if (empty($memcached_port)) { $memcached_port = '99999'; }
$memcache = memcache_connect('localhost', $memcached_port);
if ($memcache) {
$memcache_pointer = PROJECT.$pointer;
$cache = $memcache -> get($memcache_pointer);
if (!$cache) {
$memcache->set($memcache_pointer,$data);
$cache = $memcache -> get($memcache_pointer);
}
return $cache;
}
}
}

This is the Funktion I use to load and write data to the memcache
a write or restore looks like this here site::memcache('pointer',$data);

This is working in many cases pretty fine.

Now I have a codepart, where the 'pointer' is getting created dynamical-
ly. Which means I do fx. a $content_id.'_'.$translation instead of wri-
ting a simple 'pointer' as first parameter to the above function.

When I now call my XML Parser, to store data in memcache, and try to
recall, the data short after, it says:

File not found: This file somewhere in the suburbs.

But when I try to output the XML Object before the data is written to
the cache, everything goes terribly fine.

Now I figured out, that when I use static naming for the memcache data
pointer 'pointer' everything goes fine.

When I use the memcache directly, which means, I call the
$memcache->set() and $memcache->get() function from where I store data
everything goes fine again, even with dynamically created, variables.

But as soon as I use my function layer, call a to
site::memcache($pointername,$dataset); only  returnes bullshit.

Mh, this makes me a little bit sad.

Maybe somebody or even you, can help me :))

Best Regards, and a baba Respect from Germany, Dear Sancar!

Sascha



More information about the memcached mailing list