I was just wondering to know what is the best method to cache results in php.

Suppose you have search implemented on a website that is for directory search where a user inputs parameters like city, state, country, and a list of pages is fetched, on each page 10 results are displyed, but if the results are too heavy, the results take some time to populate when a user navigates from one page to other, In that scenario i want to implement some sort of caching so that results are cached and stored somewhere so that the results load quickly.

I also want to control no of results that can be cached so that caching itself doesn't take much time.

Please suggest some best techniques.