The cache invalidation based on the data source which that particular report uses. E.g. : If the report is for sales with particular filter. There can be a new sales entry. Now we invalidate cache & the report query run once again cache it. when will you increment the cache counter in the redis? when every you setting a new value for that particular key which already cached. We increase the version counter. so cache miss would happen on next request which warm the cache up again.