What will be the best caching system for wordpress blog which has more than one million blog posts? [closed]

I would suggest using nginx along with varnish. Varnish is a caching mechanism which runs on top of Apache/nginx. You can configure it to purge the cache after a specific time if you have users updating content often.

In terms of server configuration, I would recommend Amazon Web Services’ EC2. This will allow you to easily scale up as needed. I would not install the database on the EC2 instance, and instead would use Amazon Web Services RDS – which is a load balanced Database server.

Varnish Manual

WordPress/Varnish Tutorial