For shared hosts, the best caching option availabe is the Boost module. Boost creates HTML copies of rendered Drupal pages and stores them in a cache folder. Using .htaccess rules Boost then checks if a file already exists. If so, it will load the static HTML file, while fully avoiding Drupal, PHP and MySQL. If not, it will generate the file. Old HTML files are purged on cron runs, to keep the content fresh.
Note: those who can, should use Memcached and skip Boost completely. Memcached stores in RAM, which is faster than Boost's file-based caching. But Boost offers a low-tech solution for those running Drupal on shared hosts.
- Fast caching on shared hosts