code: def process_response(self, request, response):
          
  
          # never cache headers + ETag
          add_never_cache_headers(response)
  
          if not hasattr(request, '_cache_update_cache') or not request._cache_update_cache:
              # We don't need to update the cache, just return.
              return response
          if request.method != 'GET':
              # This is a stronger requirement than above. It is needed
              # because of interactions between this middleware and the
              # HTTPMiddleware, which throws the body of a HEAD-request
              # away before this middleware gets a chance to cache it.
              return response
          if not response.status_code == 200:
              return response
  
          # use the precomputed cache_key
          if request._cache_middleware_key:
              cache_key = request._cache_middleware_key
          else:
              cache_key = learn_cache_key(request, response, self.cache_timeout, self.key_prefix)
  
          # include the orig_time information within the cache
          cache.set(cache_key, (time.time(), response), self.cache_timeout)
          return response
docs: Sets the cache, if needed.