[Catalyst] Pager and Cache
Matthieu Codron
matthieu at codron.org
Mon May 19 20:07:47 BST 2008
Le 19 mai 08 à 17:57, Emmanuel Quevillon a écrit :
> Hi,
>
> I don't know if this question have been already sent or not but I am
> wondering if it is possible to sort cache a pager into the catalyst
> application to be able to quickly get results from a query that
> would have been cached.
> More explanation :
>
> I read in Jrock's book that a pager is quite easy to implement using
> $rs->page() and a page parameter in the query url to display
> results. However, this example (and method) obligate to redo the
> query search each time the user ask for the next, previous or last
> page. In the case the request takes a very long time, navigate
> through results start to be a pain. So is there a solution or would
> it be reasonable to think of caching the pager in the catalyst
> application to directly access each pages without requesting the
> database for the same query?
Hi,
Caching the pager won't work, I think. I would cache the array
returned by $rs->all and use directly Data::Page (which is used
internally by DBIx::Class IIRC). Be careful though, $rs->all will
fetch all data from the DB for your query, so you might want to a)
limit the total number of rows returned and b) clean this data up at
some point.
Hope that helps,
--
Matthieu
More information about the Catalyst
mailing list