Batch lookup and invalidation

set hard bounds on cache staleness. make fewer api calls