This is a fairly platform-agnostic question. I know that some platforms allow for shared caching and such, but most of it is kind of just "magic". I'm wondering how they're actually implemented and what are the technical details.
So, if I have a web application running across 10 servers with a simplistic load balancer(can't do sticky sessions and what not), how can I reliably invalidate the cache of the whole server farm?
I'm not talking specifically about shared caching or anything like that. For instance, you have a person that logs into your website. The server that handles the request caches his info user/password hash etc to keep from going back to the database. However, then he decides to change his username or password. You need to invalidate this cached value from every server that possibly has it.
How would a scenario like this usually be handled? (pretend that not caching it is too expensive :) )