I have something similar on one of my websites. Basically, the index page displays the last few entries. Since new entries don't occur very often, the result is often the same over the course of a day or so.
Hence, I have a static file that gets written to every 6 hours by a cronjob. The main page is then displayed by reading the html in the static file. This makes the page display very fast, and prevents thousands of unneccessary database calls.
But, like nogdog said, if your db query is not complicated, you may not need a caching system. In that case, make sure you add to your db query LIMIT 5.