We have a website whose database is on a separate machine. Both the application server and the database server are relatively underused, but the network link between them is the bottleneck. The MySQL server itself performs plenty of caching, but queries must still cross the network and back. If the site was slashdotted, that connection is where the limit would be hit.
Is there any (safe) way of using the MySQL client on the application server to cache data, saving on round trips across the network?
(for the purposes of this question it doesn't matter what software the web server is running. yes it has caching mechanisms of its own, but they're separate from the database cache)