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]
