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.
From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On
Behalf Of Greg Keogh
Sent: Monday, 19 September 2016 10:38 AM
To: ozDotNet <email@example.com>
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