Cache invalidation can be hard in tight race conditions and a few others. There 
are many instances where it can be very easy based on use cases and data needs. 
I have used it to great effect for many years.


Like you mentioned, do not write off because it can be hard. Kinda like 
designing and implementing solutions :)


Note: I have never used ORM caching functionlity and probably never will.


-          Glav


From: [] On 
Behalf Of Greg Keogh
Sent: Monday, 19 September 2016 10:38 AM
To: ozDotNet <>
Subject: Re: Entity Framework - the lay of the land


I had an argument internally that caching was good, with the alternate side 
saying that “cache invalidation” was hard so they never use it.


I think it is "hard" but don't write it off completely. Search for "second 
level cache" and you'll see it's not that trivial to use properly. Some ORMs 
have it as an optional feature. You've got to consider what to cache, eviction 
or expiry policy, concurrency, capacity, etc. I implemented simple caching in a 
server app a long time ago, then about year later I put performance counters 
into the code and discovered that in live use the cache was usually going empty 
before it was accessed, so it was mostly ineffective. Luckily I could tweak it 
into working. So caching is great, but be careful -- GK

Reply via email to