I would like to have images, css, and javascript cached client-side on their browser when they load up a web page. There are so many different types of caching I am confused
Browsers take care of this for you automatically, actually. You have to go out of your way to get them to NOT cache css, js, html and images.
I'm not that familiar with ASP MVC, but I think they type of caching you're thinking of is opcode caching for your created dynamic output server-side?