Brian,

I just tried this implementation with an array of keys but am unable to get
things to work. Can you review my code below?

<?PHP
$ip="x.x.x.x"; //omitted
$memcache=new Memcache;
$memcache->connect($ip,11211);
$art_keys=$memcache->get($data);
$articles=$memcache->get($art_keys);
print_r($articles)
?>

Print_r($articles) output results in the following: Array()

Any thoughts?

Note: $data contains the following array...

Array ( [0] => 1250806616.459 [1] => 1250806742.147 [2] => 1250806879.394
[3] => 1250806945.325 [4] => 1250806973.403 [5] => 1250807216.495 [6] =>
1250807346.296 [7] => 1250807544.351 [8] => 1250807704.403 [9] =>
1250807893.019 [10] => 1250807909.371 [11] => 1250807977.352 [12] =>
1250807998.257 [13] => 1250808035.941 [14] => 1250808065.689 [15] =>
1250808082.764 [16] => 1250808111.094 [17] => 1250808186.522 [18] =>
1250808212.955 [19] => 1250812389.799 [20] => 1250812749.806 [21] =>
1250812761.030 [22] => 1250812789.844 )


Thanks,
JJ

On Fri, Aug 21, 2009 at 12:04 PM, Brian Moon <[email protected]> wrote:

>
> So, the advantage really comes in to play when you retrieving hundreds or
> even thousands of keys to retrieve in one page request.  For example, on the
> dealnews.com front page, we show 100-200 articles.  Now, we don't use
> memcached for that (whole other philosophy in use there), but I can use it
> as an example.  Consider this code:
>
> // get array of keys for front page articles
> $art_keys = $memcache->get("front_page_articles");
>
> // PHP object takes an array to do multi gets
> $articles = $memcache->get($art_keys);
>
> // now I have a whole array of articles in one call.
>
> So, even with multiple memcached servers, I only need one call to each
> server for a whole set of keys.  Otherwise, I would have to grab lots of
> keys one at a time and that would be slower.  Much slower.
>
> Brian.
> --------
> http://brian.moonspot.net/
>
>
> On 8/21/09 12:10 PM, Bill Moseley wrote:
>
>> I've often seen comments about using multi-gets for better
>> performance.   First, I'm a bit curious if/why it's a big performance
>> gain.
>> Obviously, not all keys will be on the same memcached server in a
>> multi-get request.  Can somoene give me the one short explanaition or
>> point me to where to learn more?
>>
>> I'm perhaps more curious how people use multiple gets -- or really the
>> design of an web application that supports this.
>>
>> I've tended to cache at a pretty low level -- that is if I have a method
>> in the data model to fetch object "foo" I tend to check the cache, if
>> not found then fetch from the database and save to memcached.  As a
>> result we can end up with a lot of separate memcached get requests for a
>> single web-request.  This is less true as the app becomes more
>> web2.0-ish, but still happens.
>>
>> So, I'm curious about the design of an application that supports
>> gathering up a number of (perhaps unrelated) cache requests and fetch
>> all at once.  Then fill in the cache where there are cache-misses.  Am I
>> misunderstanding how people use this feature?
>>
>>
>> --
>> Bill Moseley
>> [email protected] <mailto:[email protected]>
>>
>

Reply via email to