take snapshot when request, cache by request path.