Version-Based Cache Validation in ABP — Keeping the Application Layer Clean Without Redis
Every caching tutorial ends up polluting the application layer with GetAsync, SetAsync, and RemoveAsync. This post shows a different approach: a decorator that intercepts at the DI layer, version-based ETags that validate client caches without a round trip to the database, and why Redis becomes optional once you get the defaults right.