title: Best Solution for Caching
body: <p>Where is the best place to implement caching in a web based app?</p>
  
  <ul>
  <li>At the presentation layer (hope not)?</li>
  <li>At the Business Logic Layer?</li>
  <li>At the data layer?</li>
  </ul>
  
  <p>I'm going to use something like memcached or MS Velocity under the hood. </p>
  
  <p>I'm just finding myself writing so much code to update the cache here and there in the business logic layer, so would it be better to create a fabric in between the data access layer at the Database Server to cache data?</p>
  
  <p>I think these complications are down to the fact, most of the data we are caching is user specific and we are duplicating data in the cache. We struggling to find the best solution.</p>