Hey Guys,

I found one more good link on the mysql website. Here it is.

http://dev.mysql.com/doc/refman/5.1/en/ha-memcached-interfaces-php.html

Thanks,
Paras

On Apr 20, 1:48 pm, Paras <[email protected]> wrote:
> Thanks Adam and Brian , Sorry for the delayed reply,
>
> I will try that out and let you know how it goes.
>
> Thanks,
> Paras
>
> On Apr 19, 5:50 pm, Adam Donnison <[email protected]> wrote:
>
> > Essentially, yes.  You need to do something like:
>
> > $res = mysql_query($sql);
> > $data = array();
> > while ($res && $row = mysql_fetch_assoc($res)) {
> >   $data[] = $row;}
>
> > $memcache->set('whatever_your_key_is', $data);
>
> > Getting it is then a simple:
>
> > $data = $memcache->get('whatever_your_key_is');
>
> > If you happen to be requiring searchable results on your data, then this
> > is not a good approach - it is fine for block queries that you are always
> > going to use, but if you then fetch by a key, you really get no benefit.
>
> > One approach that does work is to store by a key so that you can either
> > query for a batch or a particular key.
>
> > E.g. if you have data that is keyed by email and you want to pre-fetch
> > a heap of emails, you can do something like:
>
> > $res = mysql_query("SELECT * from mailing_list");
> > while ($res && $row = mysql_fetch_assoc($res)) {
> >    $memcache->set('email::' . $row['email'], $row);
>
> > }
>
> > Then if you are later on querying by email it then makes it trivial:
>
> > $user =  $memcache->get('email::'.$email);
>
> > I probably shouldn't self-promote, but if you happen to be in Santa Clara
> > this week I will be running a session on how to get started with Memcached
> > and how we did this sort of thing for MySQL.com at the MySQL Users 
> > Conference
> > and Expo.
>
> > Adam (now severely jet lagged, so forgive any typos).
>
> > Paras wrote:
> > > Thats intresting...., Are you saying that I have to cache (1, Jonny
> > > Bravo, Paris, 1) ?
>
> > > If so, how do I get the result from the cache ?
>
> > > Thanks,
> > > Paras.
>
> > > On Apr 17, 12:39 am, Adam Donnison <[email protected]> wrote:
> > >> Yeah, sorry, too late in the afternoon for me.  What I was thinking
> > >> (instead of what I was writing) was that you would need to cache the
> > >> data, not the resource.  In this sort of situation we tend to fetch
> > >> the results into an array and store that in memcached.
>
> > >> Adam - who obviously is in dire need of caffeine.
>
> > >> Brian Moon wrote:
>
> > >>> Actually, pecl/memcache does the serialization for you.  Another nice
> > >>> thing it does.
> > >>> The problem here is that you can't cache a mysql resource from
> > >>> mysql_query.  Its not a result set of data.  mysql_query returns a
> > >>> resource to some in memory data that is just not there on subsequent 
> > >>> pages.
> > >>> Brian.
> > >>> --------
> > >>>http://brian.moonspot.net/
> > >>> On 4/16/09 11:22 PM, Adam Donnison wrote:
> > >>>> If you are storing a PHP object you should serialize it,
> > >>>> and unserialize it on the way out.  Otherwise PHP cannot
> > >>>> understand what the object is.
> > >>>> $memcache->set($key, serialize($result));
> > >>>> $result = unserialize($memcache->get($key));
> > >>>> Adam
> > >>>> Paras wrote:
> > >>>>> Sorry I forgot to mention, result is of type mysql_result.
> > >>>>> Thanks
> > >>>>> Paras
> > >>>>> On Apr 16, 11:35 pm, Paras<[email protected]>  wrote:
> > >>>>>> Hello Guys,
> > >>>>>> I was trying to print a $result which was retrieved from the cache.
> > >>>>>> Can anyone tell me how I can print the results ?
> > >>>>>> eg:
> > >>>>>> $result = $memcache->get($key);
> > >>>>>> var_dump($result);
> > >>>>>> does not work. Any ideas ?
> > >>>>>> Thanks,
> > >>>>>> Paras
> > >> --
> > >> Adam Donnison, MySQL Web Developer
> > >> Sun Microsystems Australia Pty Ltd
> > >> Phone: x47031
> > >> Mobile: +61 4 1930 5414
> > >> Skype: ajdonnison
> > >> Email: [email protected]
>
> > --
> > Adam Donnison, MySQL Web Developer
> > Sun Microsystems Australia Pty Ltd
> > Phone: x47031
> > Mobile: +61 4 1930 5414
> > Skype: ajdonnison
> > Email: [email protected]

Reply via email to