Is it a reasonable/responsible idea to store a database result set in the user's session, as opposed to loading it fresh from the database on every page load? I am aware of the availability of caching the generated HTML code in a cache file on the server but that has too many convenience issues in my opinion.
For example, on a shopping page, the brands tab in the main nav has a drop down menu that lists all the brands that currently have products on the site. The query is optimized but it would still have to run at every page load. Instead of doing that I would like to save the result set in the user's session, thus only loading the brands once per session.
Alternatively, I could generate the HTML code for the subnav and store it in a cache file on the server. If the idea of storing the array in the session isn't beneficial to the server's performance, I might be able to see past the convenience issues.
Thanks for all the help!

memcacheor some simple filesystem caching - so storing the data into a file that will be refreshed e.g. every 10 minutes. Your simple cache would then just read the serialized data from the file or refresh the file if it is too old... Huh?