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.