In a recent post to the NETTUTS.com site Juan Mellado looks at creating caching that will fit in with your a data access layer in your application.
Dynamic web pages are great; you can adapt the resulting page to your user, show other user's activity, offer different products to your customers based on their navigation history, and so on. [...] In this tutorial, I will demonstrate a way to improve performance, without running extra unnecessary queries. We'll develop a query caching system for our data layer with small programming and deployment cost.
He breaks it up into a few different sections:
- The Data Access Layer
- Planning our Caching Scheme
- Static Caching
- Caching Expiration
- Different Expiration
- Some Caveats
- A Benchmark
That benchmark section there at the end mentions that, while caching can help increase page load times, it's not a silver bullet to solve the problem of bad code. Their solution, however, increased the average request time from about four pages per second up to around twenty-five pages per second.