开发者

Store PostgreSQL resultset into sessions?

开发者 https://www.devze.com 2023-01-07 14:09 出处:网络
开发者_如何学编程I\'m creating a web app using PHP and PostgreSQL. Database are too big and some kinds of
开发者_如何学编程

I'm creating a web app using PHP and PostgreSQL. Database are too big and some kinds of search takes a lot of time to process.

User can wait into first search, but it sucks when paginates. Can I store the resultset into sessions vars?

It would be great to deal with pagination.


Yes, of course you can, but with a lot of different resultsets, loading the amount of data on a session_start can become cumbersome. Also, the same search could be done by more then one user, resulting in duplicate (time consuming) retrievals / large sessions (every pageload takes longer) / more storage space.

If the data is safe from alteration enough to store in a session, look at caches like APC or Memcached to store the result with a meaningful key. That way, the load is lifted from the database, and searches can be shared amongst users.

If you have a fixed number of items for pagination, you could even consider storing the different 'pages' with a pre- or postfix in the key, so you don't have to select a subset of the result every time (i.e. store with a key like 'search:foo=bar|1' / 'search:foo=bar|2' etc.)

0

精彩评论

暂无评论...
验证码 换一张
取 消