You can move a wordpress website to a new domain with the following two steps:
1. Change all post’s URLs
UPDATE wp_posts SET guid = REPLACE ( guid, 'http://exampleoldsiteurl.com', 'http://examplenewsiteurl.com');
2. Replace the values of ’siteurl’ and ‘home’ in the wp_options table.
You can do it directly by phpMyAdmin or simply putting this lines of code in the functions.php of the theme:
update_option('siteurl','http://example.com/blog');
update_option('home','http://example.com/blog');
It is important to execute the previuos code once, then you have to delete this lines.
The official guide is here: Changing The Site URL « WordPress Codex.
Kyle Robinson published a usefull and well done benchmark among plugins which provide caching solutions.
Everyone who wants to implement caching in wordpress should have read this article:
WordPress Caching: What’s the best Caching Plugin? at Tutorial9.