This seems like a simple and safe (small) win. Automatically invalidating cache entries after a while would be even better (or not having a cache at all) but such changes are too big for a point release IMO.
GetAttributeValue
BaseItem