问题描述
我需要从我的 GraphQL API 中的 REST API 获取一些数据。为此,我将 RESTDataSource
从 apollo-datasource-rest
扩展。
据我所知,RESTDataSource 会自动缓存请求,但我想验证它是否确实被缓存。有没有办法知道我的请求是从缓存中获取数据还是访问 REST API?
我注意到第一个请求需要一些时间,但以下请求更快,而且每次查询时都不会调用 didReceiveResponse
方法。是不是因为数据是从缓存中加载的?
我正在使用 apollo-server-express。
感谢您的帮助!
解决方法
您可以按如下方式对请求进行计时:
console.time('restdatasource get req')
this.get(url)
console.timeEnd('restdatasource get req')
现在,如果时间低于 100-150 毫秒,那应该是来自缓存的请求。