Greetings fellow earthlings.
I'm researching methods of caching data retrieved from various database tables using ASP.NET MVC. We have a huge amount of data which is only updated once a day and from then on is static. This can vary but generally it's things like a list of users (employees), to departments, offices, locations we're in etc. etc.
My question is, how on earth do you retrieve the data in the first place? Where do you store it? (text file, or in actual code?) What determines whether the cache needs to be updated? I'd prefer an object-oriented approach so I can treat the rows of data as objects. I already have a model I've created by hand using LINQ in my MVC application. Additionally, how should I check if the cache is dirty? Should the database do something, or should the application do something? For example, when a row is updated should a database trigger go and do something to indicate that a change has been made (perhaps it could write to a text file?), or should my application quickly check to see if anything has changed? I realise there's many-a-method around, but is there a recommended one?
Take into account I have zero experience with caching, so be gentle ;)