> 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