ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Redis를 활용한 외부 Api 요청 개선하기
    Redis 2024. 9. 24. 21:46
    728x90
    현재 프로젝트에서는 Tour-Api 서비스를 이용하고 있는데 외부 api를 호출 할때 Redis를 이용하여 어떻게 하면 더 최소로 호출 하게 만들 수 있을지에 대해서 생각 해봐야한다.
    1. 외부 api를 request 마다 계속 호출하게 되면 비용 과금 문제가 발생한다.
    2. 똑같은 결과값을 가진다고 가정 했을 때 현재 서버에서 외부 Api 서버를 호출 할때 걸리는 시간이 발생 한다.

     

    도의 정보를 가져오는 api 

    해당 api의 결과를 보게되면 알 수 있듯이 왠만하면 절대 바뀌지 않을 정보들이다.
    "list": [
                {
                    "rnum": 1,
                    "code": "1",
                    "name": "서울"
                },
                {
                    "rnum": 2,
                    "code": "2",
                    "name": "인천"
                },
                {
                    "rnum": 3,
                    "code": "3",
                    "name": "대전"
                },
                {
                    "rnum": 4,
                    "code": "4",
                    "name": "대구"
                },
                {
                    "rnum": 5,
                    "code": "5",
                    "name": "광주"
                },
                {
                    "rnum": 6,
                    "code": "6",
                    "name": "부산"
                },
                {
                    "rnum": 7,
                    "code": "7",
                    "name": "울산"
                },
                {
                    "rnum": 8,
                    "code": "8",
                    "name": "세종특별자치시"
                },
                {
                    "rnum": 9,
                    "code": "31",
                    "name": "경기도"
                },
                {
                    "rnum": 10,
                    "code": "32",
                    "name": "강원특별자치도"
                },
                {
                    "rnum": 11,
                    "code": "33",
                    "name": "충청북도"
                },
                {
                    "rnum": 12,
                    "code": "34",
                    "name": "충청남도"
                },
                {
                    "rnum": 13,
                    "code": "35",
                    "name": "경상북도"
                },
                {
                    "rnum": 14,
                    "code": "36",
                    "name": "경상남도"
                },
                {
                    "rnum": 15,
                    "code": "37",
                    "name": "전북특별자치도"
                },
                {
                    "rnum": 16,
                    "code": "38",
                    "name": "전라남도"
                },
                {
                    "rnum": 17,
                    "code": "39",
                    "name": "제주도"
                }
            ],
    자주 변경되지 않는 데이터에 Look-aside패턴 전략을 사용하는게 적합하다.

     

     

    redis의 아주 기본적인 사용인 Look-aside 패턴으로 "areaCode1:100:1:1" 이 시군구들의 정보를 가져오는 캐시고
    "areaCode1:100:1"이 큰 도시들 가져오는 api로 아주 잘 캐싱되고 있다.

     

    서비스 분류 코드조회 Api 개선

     

    serviceCategories도 아주 잘 저장된다.
    728x90
Designed by Tistory.