Stuff I didn’t know yesterday: AppFabric Cache
Only bumped into this the other day (a good 4 and a half years after is its release). As you probably would understand, Caching is storing data in a way that future requests of that data can be served faster. A distributed cache on the other hand, is an extended implementation of cache, which may span multiple machines. The folks at Redmond have a platform for distributed cache: AppFabric Cache. According to Wikipedia, it is an in-memory distributed cache platform for Windows Server.
The point of appfabric cache is not to make individual pages faster, it's to take the load off of the database.
- John Flanders (Paraphrased)
If you look at facebook as an example, as you navigate from page to page, there's a lot of data that remains the same (e.g. your name at the top of the page). [This might be a bad example but] ordinarily each time you navigate to a new page, the database would be queried to figure out who's logged in... but that's data that is static throughout your session. Caching bring generally static data closer to the application logic, further from it's source. Your database server will in most cases be a pretty expensive piece of tech that probably doesn't need the load of telling you your name everytime you click for the next page. Enter caching, that data can be queried once from the database, stored in cache and subsequent requests are queried from cache, which should be a much faster data storage medium than your database.
I don't know if I'm doing this whole concept justice with my explanations, hit me up in the comment section, otherwise check out some of these resources to find out yourself:
- AppFabric Caching: How It Works and When You Should Use It (Channel 9 video explaining this in detail)
- Windows Server AppFabric Training Kit
- Installing, Configuring and Using Windows Server AppFabric and the "Velocity" Memory Cache in 10 minutes