I have a big MySQL database which I frequently access from a number of other servers. This puts a heavy load on the database, making the database access the main bottleneck in my application's performance. I want to improve this, by caching some of the more common read queries separately. My first thought was just to have a slave database updating itself from the master, but the problem is that while most of the reads can be cached, some of them need to be up to the minute accurate and can not.
Is there some tool out there, that I can put between my server and the database, and say "queries X, Y, Z are to be cached, but not anything else"?