Hi junkeeper,
While I don't want to comment on the caching itself I would recommend that you *don't* cache information delivered via a database. If you try to, you run the risk of the information being out of date or incorrect for the user looking at it in cached version.
In fact most dynamic websites actively avoid caching by adding some lines the header.
Sorry it doesn't answer your questions directly but thought it was worth commenting on.
Regards,
David