[typescript] Axios를 사용하여 요청을 캐시하고 캐싱된 응답 사용하기
Axios는 자바스크립트 및 TypeScript 환경에서 널리 사용되는 HTTP 클라이언트 라이브러리이며, 요청을 캐시하고 캐싱된 응답을 사용할 수 있는 기능을 제공합니다. 이 기능을 사용하면 네트워크 요청을 최소화하여 애플리케이션의 성능을 향상시킬 수 있습니다.
Axios 요청 캐시하기
Axios를 사용하여 요청을 캐시하려면 axios-extensions
패키지를 설치해야 합니다. 다음 명령을 사용하여 패키지를 설치하세요.
npm install axios-extensions
이제, Axios 인스턴스를 생성하고 캐싱 옵션을 구성해야 합니다. 예를 들어, 5분 동안 응답을 캐시해야 한다면 다음과 같이 설정할 수 있습니다.
import axios from 'axios';
import axiosExtensions from 'axios-extensions';
const axiosInstance = axios.create({
baseURL: 'https://api.example.com',
timeout: 1000,
});
axiosExtensions.init(axiosInstance, {
cache: {
maxAge: 5 * 60 * 1000, // 5분
},
});
export default axiosInstance;
위의 예제에서 axiosExtensions.init()
메서드를 사용하여 캐싱을 구성하고 있습니다. maxAge
옵션을 사용하여 캐시되는 시간을 설정할 수 있습니다.
캐싱된 응답 사용하기
이제 Axios를 사용하여 캐싱된 응답을 사용할 수 있습니다. 예를 들어, 다음과 같이 요청을 보내고 캐싱된 응답을 사용할 수 있습니다.
import axiosInstance from './axios-instance';
axiosInstance.get('/data', { cache: { maxAge: 5 * 60 * 1000 } })
.then((response) => {
// 캐싱된 응답을 사용하여 로직을 처리합니다.
})
.catch((error) => {
console.error(error);
});
위의 예제에서는 axiosInstance.get()
메서드의 두 번째 인수로 cache
옵션을 전달하여 캐싱된 응답을 사용하고 있습니다. 이렇게 함으로써 네트워크 요청을 최소화하고 캐싱된 데이터를 활용할 수 있습니다.
Axios를 사용하여 요청을 캐시하고 캐싱된 응답을 사용하여 애플리케이션의 성능을 향상시켜보세요.
더 자세한 내용은 axios-extensions 공식 문서를 참고하세요.