Caching is also the type of solution I've found many developers enjoy implementing
That may be true, but it's also one they also fail to get right 90% of the time. Done incorrectly, it leaves apps with strange intermittent bugs, consistency errors, confusing "wait - didn't I just change that?" moments for the users (especially on a web farm) and performance bottlenecks when restarting a server.
It may be fun, but it's hard to do well.