+1  A: 

Instead of looking at this problem as a sitewide problem, I would investigate those areas that are bottlenecks in your system, and consider caching those. The time you cache will depend on the data, and how frequently it changes.

Asp.net has some built in performance tools that will show you quite a bit of information about your cache

http://msdn.microsoft.com/en-us/library/ms972959.aspx

Don't focus on the cache hits vs. misses. Start off by focusing on the data that is retrieved often, but changes very little.

This article has some good information on implementing a caching policy

http://www.c-sharpcorner.com/UploadFile/vishnuprasad2005/ImplementingCachinginASP.NET11302005072210AM/ImplementingCachinginASP.NET.aspx

Aaron M
A: 

I would agree with Aaron. Why do you want to introduce caching? What problem are you trying to resolve? Are you having performance problems and are they directly related to database reads?

I have implemented ASP.Net/SQL caching on numerous projects and have found that the bottlenecks usually lie elsewhere i.e. page size.

I hope this helps.

B

Burt